【PAT】B1014 福尔摩斯的约会

  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;
}
全部评论

相关推荐

01-09 11:18
门头沟学院 Java
作者先叠个甲:本人双非本,秋招拿到了多个大厂offer,这个过程也不容易,但是在看到很多秋招胜利之后说自己一路有多艰辛的文章,总感觉有一点不对劲,想了很久打算写一篇文章分析一下,本文仅代表作者观点,不认同的可以在评论区大家一起理性讨论。&nbsp;秋招已经结束,各类社交平台出现一大批“大厂上岸”胜利结算。文章的叙事逻辑高度相同,开篇就渲染焦虑和困惑,学习时的挑灯夜读、投递时的屡屡碰壁、面试时的如履薄冰,将过往经历包装成一步艰辛的“奋斗史”,然后最终以大厂offer的胜利结尾,字里行间全是苦尽甘来的优越感。但是在我看来,这类文章的本质是结果导向的、带有浮夸的叙事,因为其内核不是分享经验,而是借“苦难”之名...
创作小队长:你的批判视角非常犀利,尤其“结果决定叙事权”的洞察非常精准,哈哈想邀请你来成为我们的创作者🫰 但我想补充一个视角:许多分享者的初衷并非炫耀结果或者苦难,我更愿意相信他们在这个过程中付出了很多,在这场战役结束后,他们迫不及待地想被看到,记录和分享都是给自己的一个交代,而非真的教会别人什么,他们的初衷未必是想制造焦虑。求职市场的残酷、经济环境的下行、世俗价值观才是这种叙事流行的土壤,作为一个普通人无法抵抗洪流。 感谢你发起这场讨论。理想的社区,既需要这样锐利的批判来保持清醒,你的洞察非常犀利,也许会启发一些人,能逐渐改变这种叙事~
点赞 评论 收藏
分享
2025-12-31 14:19
门头沟学院 产品经理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务