PAT-B] 1014. 福尔摩斯的约会 [字符串处理]
来源:互联网 发布:早起打卡软件 编辑:程序博客网 时间:2024/05/17 07:21
链接:1014. 福尔摩斯的约会 (20)
题意
让大家来扮演福尔摩斯,又让大家获得约会的机会。
不得不说这个题的福利很好啊(大雾)。
题目的话是给四行字符串。
然后先对前两行字符串中的字符依次进行匹配。
当遇到第1对相同且满足以下条件的字符对时,则表示为星期几。
- 大写字母
- 既然是表示星期几,取值范围则为
(A,A+7) ,即(A,G)
然后从当前位置开始继续往后再对前两行字符串进行匹配操作。
当遇到第2对相同且满足以下条件的字符对时,则表示为第几小时。
- 大写字母和数字
- 取值范围则为
(0,9) ,表示0 点 到9 点
和(A,A+13) ,即(A,N) ,表示10 点 到23 点
最后则对后两行字符串中的字符依次进行匹配。
当遇到第1对相同且为英文字母的字符对时,
其位置,当前字符的数组下标,即为第几分钟。
分析
题意中已经详细分析了。
注意一下输出时的格式就没问题了。
代码
#include <cstdio>char a[65], b[65], c[65], d[65];char *week[] = { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" };int main(){ while( ~scanf( "%s%s%s%s", a, b, c, d ) ){ int f = 1; // f 表示现在找的是第几个相同的字符 1 为第一个 0 为第二个 for( int i = 0; a[i] != '\0' && b[i] != '\0'; i++ ){ if( a[i] == b[i] ){ if( f ){ if( a[i] >= 'A' && a[i] <= 'G' ){ printf( "%s ", week[a[i] - 'A'] ); f = 0; } } else{ if( ( a[i] >= 'A' && a[i] <= 'N' ) || ( a[i] >= '0' && a[i] <= '9' ) ){ int num; if( a[i] >= '0' && a[i] <= '9' ){ num = a[i] - '0'; putchar( '0' ); } else num = a[i] - 'A' + 10; printf( "%d:", num ); break; } } } } for( int i = 0; c[i] != '\0' && d[i] != '\0'; i++ ){ if( c[i] == d[i] ){ if( ( c[i] >= 'A' && c[i] <= 'Z' ) || ( c[i] >= 'a' && c[i] <= 'z' ) ){ printf( "%02d\n", i ); break; } } } } return 0;}
小结
非常简单的匹配问题。
阅读全文
0 0
- PAT-B] 1014. 福尔摩斯的约会 [字符串处理]
- PAT(B)1014. 福尔摩斯的约会 (20)
- PAT-B 1014. 福尔摩斯的约会
- PAT B 1014. 福尔摩斯的约会 (20)
- PAT-B 1014. 福尔摩斯的约会
- PAT(B) - 1014. 福尔摩斯的约会 (20)
- PAT(B) 1014. 福尔摩斯的约会 (20)
- PAT-B 1014. 福尔摩斯的约会 (20)
- PAT-B 1014. 福尔摩斯的约会 (20)
- pat(A) 1061. Dating&&pat(B)1014. 福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会
- PAT-B 1014. 福尔摩斯的约会(python, C++)
- PAT 福尔摩斯的约会
- PAT-福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会 (20)
- 吾爱破解160个crackme之014
- iOS学习笔记-138.RunLoop06——Runloop相关类4_ CFRunloopSourceRef和CFRunLoopObserverRef
- 2017 ACM/ICPC Asia Regional Shenyang Online
- python3中简单的异常捕获及显示堆栈调用
- 官方发生的国防生的
- PAT-B] 1014. 福尔摩斯的约会 [字符串处理]
- TCP/IP协议
- tcp/ip三次握手,四次分手
- Dom节点的操作
- java学习初探十二之常用类_数字_随机数_枚举
- WOJ-203 找相同
- 字符串的旋转
- Spring-AOP @AspectJ进阶之命名切点
- 一起来看MyBatis(四)