//
// main.cpp
// PAT_1061. Dating
//
// Created by wjq on 17/5/18.
// Copyright © 2017年 wjq. All rights reserved.
//
#include <iostream>
using namespace std;
string A,B,C,D;
string week[7]={"MON","TUE","WED","THU","FRI","SAT","SUN"};
int flagi=0;
void findCaptical()
{
for(int i=0;i<A.length()&&i<B.length();i++)
{
if(A[i]==B[i]&&A[i]>='A'&&A[i]<='G')
{
flagi=i;
cout<<week[A[flagi]-'A'];
return;
}
}
}
void findHours()
{
for(int i=flagi+1;i<A.length()&&i<B.length();i++)
{
if(A[i]==B[i]&&((A[i]>='0'&&A[i]<='9')||(A[i]>='A'&&A[i]<='N')))
{
if(isdigit(A[i]))
cout<<" 0"<<A[i]<<":";
else
cout<<" "<<A[i]-'A'+10<<":";
return;
}
}
}
void findMinutes()
{
for(int i=0;i<C.length()&&i<D.length();i++)
{
if(C[i]==D[i]&&((C[i]>='a'&&C[i]<='z')||(C[i]>='A'&&C[i]<='Z')))
{
if(i>=0&&i<=9)
cout<<"0"<<i;
else
cout<<i;
return;
}
}
}
int main(int argc, const char * argv[])
{
cin>>A>>B>>C>>D;
findCaptical();
findHours();
findMinutes();
return 0;
}
这道题主要难点在于英语的阅读理解,以及对题意的揣摩...
题目中没有讲清楚.到底是
AABD123kjsa
CCRED12319128asd
这样就算匹配第一个大写字母D
还是
AABD123kjsa
CCRD12319128asd
这样就算匹配第一个大写字母D
通过提交答案来看.第二种情况才是题意要求.