NBUT 1189 Join the Lyrics Player(字符串处理)
2012-07-06 18:55
288 查看
题目链接:Click here~~
题意:
给你一个lrc歌词文件,文件中,每行前面是若干个时间标签,当当前时间大于等于此标签且小于其他时间标签时,输出此行歌词。
然后给你一个时间,输出这个时间应该输出的歌词。
解题思路:
从这个时间向前找,直到找到某个时间在标签中出现过,然后输出所在标签的歌词。
由于时间格式特点,我们可以用一个int型变量储存它的状态i。
然后用一维数组tim[i]记录这个时间应该输出的歌词的序号。
细心些就好了。
题意:
给你一个lrc歌词文件,文件中,每行前面是若干个时间标签,当当前时间大于等于此标签且小于其他时间标签时,输出此行歌词。
然后给你一个时间,输出这个时间应该输出的歌词。
解题思路:
从这个时间向前找,直到找到某个时间在标签中出现过,然后输出所在标签的歌词。
由于时间格式特点,我们可以用一个int型变量储存它的状态i。
然后用一维数组tim[i]记录这个时间应该输出的歌词的序号。
细心些就好了。
#include <stdio.h> #include <string.h> #include <ctype.h> #define N 200 char str [2000]; char tim[1000005]; int loc ,h,m,s; bool judge(char *S) { if(*S!='[') return 0; for(int i=1;i<=2;i++) if(!isdigit(*(S+i))) return 0; if(*(S+3)!=':') return 0; for(int i=4;i<=5;i++) if(!isdigit(*(S+i))) return 0; if((*(S+4)-'0')*10 + (*(S+5)-'0')>=60) return 0; if(*(S+6)!='.') return 0; for(int i=7;i<=8;i++) if(!isdigit(*(S+i))) return 0; if(*(S+9)!=']') return 0; return 1; } int to(int a,int b,int c) { return a*10000 + b*100 + c; } void div(int id,char *S) { int len = 0; while(judge(S+len)) { sscanf(S+len,"[%d:%d.%d]",&h,&m,&s); tim[to(h,m,s)] = id; len += 10; } loc[id] = len; } int main() { int n,Q,ans; strcpy(str[0],"**************"); while(~scanf("%d%d%*c",&n,&Q)) { memset(tim,0,sizeof(tim)); for(int i=1;i<=n;i++) { gets(str[i]); div(i,str[i]); } while(Q--) { ans = 0; scanf("%s",str[n+1]); sscanf(str[n+1],"%d:%d.%d",&h,&m,&s); for(;h>=0;h--) { for(;m>=0;m--) { for(;s>=0;s--) { int x = tim[to(h,m,s)]; if(x != 0) { ans = x; goto end; } } s = 99; } m = 59; } end: for(int j=loc[ans];str[ans][j];j++) putchar(str[ans][j]); putchar('\n'); } } return 0; }
相关文章推荐
- python字符串处理 join split replace的使用方法
- query specified join fetching, but the owner of the fetched association was not present in the selec
- Problem C: The Same Color 水题 字符串处理
- 几个常用的JS字符串处理函数-split()、join()、substring()和indexOf()
- Hibernate异常:query specified join fetching, but the owner of the fetched association was not present
- POJ2993——Help Me with the Game(字符串处理+排序)
- POJ 3267-The Cow Lexicon(DP处理字符串)
- Give Me the Number------字符串处理
- SGU 347 Join the Strings 字符串 排序 思维
- NBUT 1585 字符串大处理
- 几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
- HDU 1048 The Hardest Problem Ever(字符串处理)
- hdu 1004 Let the Balloon Rise ( 字符串简单处理)
- PHP处理0e开头md5哈希字符串缺陷/bug & PHP expresses two different strings to be the same [duplicate]
- HDU 1048 The Hardest Problem Ever(字符串处理)
- 【解决Hiberate】 query specified join fetching, but the owner of the fetched association..
- 几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
- 几个常用的JavaScript字符串处理函数 split(),join(),substring()和indexOf()
- query specified join fetching, but the owner of the fetched association was not present in the select list
- HDU 4891 The Great Pan(字符串处理)只要看懂就能做出,毕竟英语渣渣