1014. 福尔摩斯的约会 (20)

 

  此题坑极多:有几下几个容易误导人的地方:

  1: 天数和时间不仅要英文字母相同, 连位置也要相同.

  2: 天数和时间只存在于第一行第二行, 根本不用对比第三行第四行!同理分钟只要对比第三行第四行就行了. 这里简直太坑了!

  3: 分钟数, 注意是"英文字母"! 也就是说不一定是小写, 大写也可以的! 整整花了一天时间, 把所有坑踩了遍. 

 

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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表示星期日。题目输入保证每个测试存在唯一解。

输入样例:
3485djDkxh4hhGE 
2984akDfkkkkggEdsb 
s&hgsfdk 
d&Hyscvnm
输出样例:
THU 14:04
#include <stdio.h>
#include <string.h>
int main(){
    char s[4][60]={};
    char d='z';    
    char h='z';
    int m=-1;
    int dj=0; //ÓÃÀ´±ê¼ÇD³öÏÖµÄλÖà 
    for(int i=0;i<4;i++){    
        scanf("%s",&s[i]);
    }
    for(int i=0;i<2;i++){
        for(int j=0;j<strlen(s[i]);j++){
            if(s[i][j]==s[i+1][j]){
                if(s[i][j]>='A'&&s[i][j]<='G'&&d=='z'){
                    d=s[i][j];
                    dj=j;                                            
                }    
            }                
        }
    }
    for(int i=0;i<2;i++){
        for(int j=0;j<strlen(s[i]);j++){
            if(s[i][j]==s[i+1][j]){
                if(((s[i][j]>='0'&&s[i][j]<='9')||(s[i][j]>='A'&&s[i][j]<='N'))&&j>dj&&h=='z'){
                    h=s[i][j];
                }    
            }                
        }
    }
    for(int i=2;i<4;i++){
        for(int j=0;j<strlen(s[i]);j++){
            if(s[i][j]==s[i+1][j]){
                if(((s[i][j]>='A'&&s[i][j]<='Z')||(s[i][j]>='a'&&s[i][j]<='z'))&&m==-1){
                    m=j;
                }    
            }                
        }
    }
    
    if(d=='z'||h=='z'||m==-1){
        return 0;
    }

    switch(d){        
        case'A':
            printf("MON");
            break;
        case'B':
            printf("TUE");
            break;
        case'C':
            printf("WED");
            break;
        case'D':
            printf("THU");
            break;
        case'E':
            printf("FRI");
            break;
        case'F':
            printf("SAT");
            break;
        case'G':
            printf("SUN");
            break;
    }
    printf(" ");
    switch(h){
        case'0':
            printf("00");
            break;
        case'1':
            printf("01");
            break;
        case'2':
            printf("02");
            break;
        case'3':
            printf("03");
            break;
        case'4':
            printf("04");
            break;
        case'5':
            printf("05");
            break;
        case'6':
            printf("06");
            break;
        case'7':
            printf("07");
            break;
        case'8':
            printf("08");
            break;
        case'9':
            printf("09");
            break;
        case 'A':
            printf("10");
            break;
        case 'B':
            printf("11");
            break;
        case 'C':
            printf("12");
            break;
        case 'D':
            printf("13");
            break;
        case 'E':
            printf("14");
            break;
        case 'F':
            printf("15");
            break;
        case 'G':
            printf("16");
            break;
        case 'H':
            printf("17");
            break;
        case 'I':
            printf("18");
            break;
        case 'J':
            printf("29");
            break;
        case 'K':
            printf("20");
            break;
        case 'L':
            printf("21");
            break;
        case 'M':
            printf("22");
            break;
        case 'N':
            printf("23");
            break;        
    }
    
    printf(":%02d",m);
    
    
    
    return 0;
}

 


 

posted @ 2017-01-07 15:32  葛杨杨  阅读(305)  评论(0)    收藏  举报