1014 福尔摩斯的约会

一、题目

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代表一天里的第 14 个钟头(于是一天的 0 点到 23 点由数字 09、以及大写字母 AN 表示);后面两字符串第 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

四、题目分析

对比两组字符串,需要寻找的三个字符满足以下条件:

  • DD:第一组字符串出现第一个在A~G之间的字符;
  • HH:第一组字符串在找到DD后出现的第一个在0~9A~N之间的字符;
  • MM:第二组字符串出现第一个相同英文字符的位置。

根据字符,按照格式输出。

五、代码

#include <bits/stdc++.h>
using namespace std;
char week[7][4] = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
int main()
{string s1, s2, s3, s4;cin >> s1 >> s2 >> s3 >> s4;int n1 = (s1.length() > s2.length() ? s2.length() : s1.length());int n2 = (s3.length() > s4.length() ? s4.length() : s3.length());char day;char hour;int HH;int MM;for (int i = 0, flag = 0; i < n1; i++){if (s1[i] <= 'G' && s1[i] >= 'A' && s1[i] == s2[i] && flag == 0){day = s1[i];flag = 1;continue;}if (flag && s2[i] == s1[i] && (s1[i] >= '0' && s1[i] <= '9' || s1[i] >= 'A' && s1[i] <= 'N')){hour = s2[i];break;}}for (int i = 0; i < n2; i++){if ((s3[i] <= 'z' && s3[i] >= 'a' || s3[i] >= 'A' && s3[i] <= 'Z') && s3[i] == s4[i]){MM = i;break;}}printf("%s ", week[day - 'A']);if (hour <= '9' && hour >= '0')HH = hour - '0';elseHH = hour - 'A' + 10;printf("%02d:%02d", HH, MM);return 0;
}

PAT (Basic Level) Practice1014 福尔摩斯的约会相关推荐

  1. 【题解】PAT (Basic Level) Practice (中文)

    互联网行业的小白,写博客的目的是为了记录自己的学习过程.对自己学习中所犯的错误做一个总结.由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教! PAT Basic Level P ...

  2. PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)

    PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)   http://www.patest.cn/contests/pat-b-practise/1025 ...

  3. PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)

    PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)  http://www.patest.cn/contests/pat-b-practise/1034 ...

  4. PAT basic level 答案+解题思路+难点 (个人刷题记录)

    PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...

  5. 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)

    可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决) c1, c2 = map(int,input().split( ...

  6. 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版

    PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...

  7. 卡拉兹(Callatz)猜想,PAT(Basic Level) Practise NO.1001

    PAT(Basic Level) Practise NO.1001 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半. 这样 ...

  8. PAT (Basic Level) Practice (中文)1095 解码PAT准考证 (25 分)

    PAT (Basic Level) Practice (中文)1095 解码PAT准考证 (25 分) PAT 准考证号由 4 部分组成: 第 1 位是级别,即T代表顶级:A代表甲级:B代表乙级: 第 ...

  9. PAT (Basic Level) Practice (中文)1058 选择题 (20 分)

    PAT (Basic Level) Practice (中文)1058 选择题 (20 分) 文章目录 PAT (Basic Level) Practice (中文)1058 选择题 (20 分) 题 ...

最新文章

  1. ifelse的命令空间
  2. windows server 2008 R2系统安装教程
  3. ajax拼接外部变量,在ajax调用中访问函数外部变量的问题
  4. 谷歌浏览器书签栏怎么隐藏 谷歌Chrome浏览器书签栏隐藏教程
  5. 红外解码软件 android,一文教会你红外线遥控器软件解码程序
  6. zabbix企业应用:通过SNMP和iDRAC监控DELL服务器硬件
  7. 关于表格前面checkbox复选框不打勾的问题
  8. [Android 新特性] 有史来最大改变 Android 5.0十大新特性
  9. 高性能网站架构的思考
  10. java poi excel转pdf_java_poi导入导出excel.pdf
  11. matlab 函数最大值位置,matlab中,两个自变量的函数怎么求最大值(急急急急!!1)...
  12. 【教育心理学】学习理论流派——行为主义学习理论
  13. fx5800p编程教程_fx5800P编程计算器操作方法.pdf
  14. C语言爱心开场动画代码,QQ空间免费开场动画代码大全
  15. photoshop设计精讲精练 学习笔记(二)
  16. 翡翠手链的形成来源于古人对于图腾的崇拜
  17. 蓝牙耳机哪种通话效果最好?通话质量最好的蓝牙耳机盘点
  18. Java网络编程 获取本地主机名称和地址
  19. 专访SegmentFault开发团队:垂直问答社区的架构升级
  20. 修改linux中@后的名字

热门文章

  1. Win10纯净版系统下载、制作和安装过程-联想客服建议
  2. AC+AP组网和MESH组网介绍和区别
  3. 不同网段的直连怎么互通_什么样的网络能互通,什么样的网络不能互通?
  4. python爬虫视频课程推荐_Python 爬虫实战案例(推荐小白研究)
  5. Linux 查看资源占用top参数详解
  6. 如何安装Python3.7,小白必看!
  7. 服务器虚拟机操作系统,服务器虚拟机操作系统
  8. CESIUM加载glb的模型
  9. pythonmysql数据分析_利用Mysql进行python的数据分析
  10. oracle缺少控制文件,关于oracle丢失控制文件的恢复办法