1. 程式人生 > 其它 >1014 福爾摩斯的約會 不完全題解

1014 福爾摩斯的約會 不完全題解

這個題有幾個坑,思路比較簡單,處理起來繁瑣

最終也沒有全通過,測試點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; }