1. 因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母D,代表星期四;
  2. 第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 0 到 9、以及大写字母 A 到 N 表示);
  3. 后面两字符串第 1 对相同的英文字母 s 出现在第 4 个位置(从 0 开始计数)上,代表第 4分钟。
    实现:(仔细推一下样例,有坑)
    用四个字符串储存输入,
    从头遍历前两个字符串,确定星期和小时(用字符串数组储存星期,方便了输出,可千万别用ifelse或者switch,太low)
    从头遍历后两个字符,确定分钟

#include<cstdio>

using namespace std;
int main(){
    int minum=0;
    char week='Z',hour='Z';
    char arr1[61],arr2[61],arr3[61],arr4[61];
    scanf("%s %s %s %s",arr1,arr2,arr3,arr4);
    for(int i=0;i<60;i++){
        if(arr1[i]==arr2[i])
            if(week=='Z'&&arr2[i]>='A'&&arr2[i]<='G') {week=arr1[i];continue;}
        if(arr1[i]==arr2[i]&&week!='Z'&&hour=='Z'&&((arr1[i]>='A'&&arr1[i]<='N')||(arr1[i]>='0'&&arr1[i]<='9'))) hour=arr1[i];
    }
    for(int i=0;i<60;i++){
        if(arr4[i]>='a'&&arr4[i]<='z'&&arr3[i]==arr4[i]&&minum==0)
            minum=i;
    }
    char wek[7][4]={{"MON"},{"TUE"},{"WED"},{"THU"},{"FRI"},{"SAT"},{"SUN"}};
    printf("%s ",wek[(int)week-'A']);
    if(hour>='0'&&hour<='9')printf("%02d:",(int)hour-'0');
    else printf("%02d:",10+hour-'A');
    printf("%02d",minum);
    return 0;
}