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;
}

 

posted @ 2021-10-30 14:35  Mr。atopos  阅读(44)  评论(0)    收藏  举报