小明的约会 oj148

来源:互联网 发布:易通网络平台 编辑:程序博客网 时间:2024/05/16 17:49

小明的约会

发布时间: 2017年7月27日 19:08   最后更新: 2017年7月27日 19:08   时间限制: 1000ms   内存限制: 128M

小明和他的女朋友是两朵奇葩,总是愿意把简单问题搞得很复杂,这不小明刚接到女朋友发来的一条微信:“我们约会吧!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分钟。

现给定两对字符串,请你按照上述方法得到小明的约会时间。


输入包含多组测试数据,每组输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。

对于每组输入,在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。

 复制
3485djDkxh4hhGE2984akDfkkkkggEdsbs&hgsfdkd&Hyscvnm
THU 14:04
#include <iostream>  #include <cstring>#include <cstdio>using namespace std;int main(){char date[7][4] = { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" }; char str1[61] = { 0 }, str2[61] = { 0 }, str3[61] = { 0 }, str4[61] = { 0 };while (cin >> str1 >> str2 >> str3 >> str4){char ch[3] = { 0 };int i;int len = strlen(str1) > strlen(str2) ? strlen(str2) : strlen(str1);for (i = 0; i < len; i++){if (str1[i] == str2[i] && str1[i] >= 'A'&&str1[i] <= 'G'){ch[0] = str1[i];i++;break;}}for (int j = i; j < len; j++){if (str1[j] == str2[j] && (str1[j] >= 'A'&&str1[j] <= 'N' || str1[j] >= '0'&& str1[j] <= '9')){ch[1] = str1[j];break;}}int len1 = strlen(str3) > strlen(str4) ? strlen(str4) : strlen(str3);for (int i = 0; i < len1; i++){if (str3[i] == str4[i] && (str3[i] >= 'a'&& str3[i] <= 'z' || str3[i] >= 'A'&&str3[i] <= 'Z')){ch[2] = i;break;}}ch[0] -= 65;if (ch[1] >= 'A' && ch[1] <= 'N')ch[1] -= 55;elsech[1] -= 48;if (ch[2] < 10 && ch[1]>=10)printf("%s %d:%d%d\n", date[ch[0]], ch[1], 0,ch[2]);else if (ch[2] < 10 && ch[1]<10)printf("%s %d%d:%d%d\n", date[ch[0]],0, ch[1],0, ch[2]);else if (ch[1] < 10 && ch[2] >= 10)printf("%s %d%d:%d\n", date[ch[0]], 0,ch[1], ch[2]);elseprintf("%s %d:%d\n", date[ch[0]], ch[1], ch[2]);}return 0;}


原创粉丝点击