1014 福尔摩斯的约会 (20分)
- 这道题坑多,看清题目要求
- 第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,只能是A~G
- 第 2 对相同的字符:0 点到 23 点由数字 0 到 9、以及大写字母 A 到 N 表示
- 后面两字符串第 1 对相同的英文字母 s 出现在第 4 个位置(从 0 开始计数)
#include<iostream>
#include<ctype.h>
#include<algorithm>
#include<sstream>
#include<string>
#include<cstdio>
using namespace std;
string s[]= {"","MON","TUE","WED","THU","FRI","SAT","SUN"};
int main() {
string s1,s2,s3,s4;
cin>>s1>>s2>>s3>>s4;
int flag=0;
int cnt1=min(s1.length(),s2.length());
for(int i=0; i<cnt1; i++) {
if(!flag) {
if(s1[i]==s2[i]&&s1[i]>='A'&&s1[i]<='G') {
cout<<s[s1[i]-'A'+1]<<" ";
flag=1;
}
} else {
if(s1[i]==s2[i]) {
if(isdigit(s1[i])) {
printf("%02d",s1[i]-'0');
break;
} else if(s1[i]>='A'&&s1[i]<='N'){
printf("%02d",s1[i]-'A'+10);
break;
}
}
}
}
cout<<":";
int cnt2=min(s3.length(),s4.length());
for(int i=0; i<cnt2; i++) {
if(isalpha(s3[i])) {
if(s3[i]==s4[i]) {
printf("%02d",i);
}
}
}
return 0;
}