1014 福爾摩斯的約會 不完全題解
阿新 • • 發佈:2021-10-30
這個題有幾個坑,思路比較簡單,處理起來繁瑣
最終也沒有全通過,測試點1沒有通過
#include <iostream> #include<stdio.h> #include<string> #include<algorithm> #include<math.h> using namespace std; int num[10000]; int main() { string s1,s2,s3,s4; cin>>s1>>s2>>s3>>s4; string cday[7]={"MOD","TUE","WED","THU","FRI","SAT","SUN"}; int i=0; int flag=0; int h; while(1) { if(i==s1.size()||i==s2.size()) break; if(s1[i]==s2[i]) { if(flag==0&&s1[i]>='A'&&s1[i]<='G') //必須要是G,不能A到Z { flag=1; cout<<cday[s1[i]-'A']<<" "; } else if(flag==1&&((s1[i]>='0'&&s1[i]<='9')||(s1[i]>='A'&&s1[i]<='N'))) { if(s1[i]>='0'&&s1[i]<='9') h=s1[i]-'0';else h=s1[i]-'A'+10; break; } } i++; } i=0; while(1) { if(i==s3.size()||i==s4.size()) break; if(s3[i]==s4[i]&&((s3[i]>='a'&&s3[i]<='z')||(s4[i]>='A'&&s3[i]<='Z'))) //是字母a-z或者A-Z相同 { if(i==60) { h++; i=0; } if(h<10) cout<<0; cout<<h<<":"; if(i<10) cout<<0; cout<<i; return 0; } i++; } return 0; }