犯 了 个无脑错误,我感觉自己的算法完美符合题目要求,结果有1,2,4测试点过不了,我就对着她分析了2个小时,最终发现这三个情况是对应小时是0-9,但是我控制输出格式的时候忘了加“:”,导致和答案不一样,结果错误。。。。
#include<iostream>
#include<string>
#include<map>
#include<cctype>
#include<algorithm>
using namespace std;
string Day[7] = { "MON","TUE","WED","THU","FRI","SAT","SUN" };
int main() {
string s1, s2, s3, s4;
cin >> s1 >> s2 >> s3 >> s4;
int flag = 0;
for (int i = 0; i < min(s1.length(), s2.length()); i++) {
if (s1[i] == s2[i]) {
if (flag == 0) {
if (s1[i] >= 'A' && s1[i] <= 'G') {
flag = 1;
printf("%s ", Day[s1[i] - 'A'].c_str());
}
}
else {
if (s1[i] >= 'A'&&s1[i] <= 'N') {
printf("%02d:", s1[i] - 'A' + 10);
break;
}
else if (isdigit(s1[i])) {
printf("%02d:", s1[i] - '0');
break;
}
}
}
}
for (int i = 0; i < min(s3.length(), s4.length()); i++) {
if (isalpha(s3[i]) && (s3[i] == s4[i])) {
printf("%02d", i);
break;
}
}
return 0;
}