大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很
快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是
第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、
以及大写字母A到N表示);后面两字符串第1对相同的英文字母's'出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,
请帮助福尔摩斯解码得到约会的时间。
#include<iostream>
#include<string.h>
using namespace std;
int main(void)
{
char str1[66],str2[66],str3[66],str4[66];
char z,h;
int e=0,m=0;
cin>>str1;
cin>>str2;
cin>>str3;
cin>>str4;
for(int i=0;i<strlen(str1);i++)
{
if(str1[i]==str2[i]&&e==0&&str1[i]>='A')
{
z=str1[i];
e++;
}
else if(str1[i]==str2[i]&&e==1)
{
h=str1[i];
break;
}
}
for(int i=0;i<strlen(str3);i++)
{
if(str3[i]==str4[i]&&((str3[i]>='A'&&str3[i]<='Z')||(str3[i]>='a'&&str3[i]<='z')))
{
m=i;
break;
}
}
if(z=='A')
cout<<"MON ";
if(z=='B')
cout<<"TUE ";
if(z=='C')
cout<<"WED ";
if(z=='D')
cout<<"THU ";
if(z=='E')
cout<<"FRI ";
if(z=='F')
cout<<"SAT ";
if(z=='G')
cout<<"SUN ";
if(h>='0'&&h<='9')
cout<<"0"<<h<<":";
else
{
int hh=10+h-'A';
cout<<hh<<":";
}
if(m<=9)
cout<<"0"<<m;
else
cout<<m;
return 0;
}
//语言:C++ 运行时间: 4 ms 占用内存:404K