1014 福尔摩斯的约会 (20 分)测试点分析
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 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
分析:只要清楚的题目要求,这道题就非常容易了。那我来说一下题目要求:
1.字符相等,而且字符必须是大写字母,且必须在'A' ~ 'G' 之间。(星期几)
2.字符相等,而且字符必须在'A' ~ 'N' 或 '0' ~ '9'之间 (小时)
3.字符相等, 而且必须是字母。(分钟)
清楚了判断条件, 这道题就非常简单了。
#include <iostream>
#include <cstdio>
#include <string>using namespace std;int main()
{string s1, s2, s3, s4;cin >> s1 >> s2 >> s3 >> s4;int len1 = s1.length() < s2.length() ? s1.length() : s2.length(); //s1 s2 两者中的最小长度int mark = 1; //判断是否已经找到'星期几'char weekday, hour;int minute;int len2 = s3.length() < s4.length() ? s3.length() : s4.length(); //s3 s4 两者中的最小长度for(int i = 0; i < len1; i++){if(s1[i] == s2[i] && mark && s1[i] >= 'A' && s1[i] <= 'G') //星期几{weekday = s1[i];mark = 0;switch(weekday) //或者是if-else{case 'A' :cout << "MON ";break;case 'B' :cout << "TUE ";break;case 'C' :cout << "WED ";break;case 'D' :cout << "THU ";break;case 'E' :cout << "FRI ";break;case 'F' :cout << "SAT ";break;case 'G' :cout << "SUN ";break;}continue;}if(s1[i] == s2[i] && mark == 0 && ((s1[i]>='A' && s1[i]<='N') || (s1[i] >= '0' && s1[i] <= '9'))) //注这里不能使用isupper()函数 因为范围是'A' ~ 'N'{hour = s1[i];break;}}for(int i = 0; i < len2; i++){if(s3[i] == s4[i] && isalpha(s3[i])) //必须是字母{minute = i;break;}}if(hour >= '0' && hour <= '9'){cout << '0' << hour << ':';}else{cout << hour - 'A' + 10 << ':';}printf("%02d", minute);return 0;
}
1014 福尔摩斯的约会 (20 分)测试点分析相关推荐
- 1014 福尔摩斯的约会 (20分) 测试点(全部的)
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560 大侦探福尔摩斯接到一张奇怪的字条: ...
- 1014 福尔摩斯的约会 (20 分) Python和C++版本
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- C++学习之路 | PTA乙级—— 1014 福尔摩斯的约会 (20分)(精简)
1014 福尔摩斯的约会 (20分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hys ...
- 1014 福尔摩斯的约会 (20 分)
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- 1014 福尔摩斯的约会 (20 分)|一道我认为烂透了的题
1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...
- PAT乙类1014 福尔摩斯的约会 (20 分)
一.题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了 ...
- 希望PAT耗子尾汁:1014 福尔摩斯的约会 (20分)——22行代码AC
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEd ...
- 【PAT (Basic Level) 】1014 福尔摩斯的约会 (20 分)
大侦探福尔摩斯接到一张奇怪的字条: 我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm 大侦探很快就明白了,字条上 ...
- 1014 福尔摩斯的约会 (20分)
输入样例: 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm 输出样例: THU 14:04 # -*- coding: ut ...
- 【PAT乙级】1014 福尔摩斯的约会 (20 分)【模拟 / 很坑】
之前小号写过: https://blog.csdn.net/bettle_king/article/details/116546412 这里就直接复制过来了 https://pintia.cn/pro ...
最新文章
- VS Code 安装 Go 插件、自定义扩展配置、断点调试
- NDK JNI Android Studio开发与调试DEMO(三)(生成 .so 文件)
- Swift版iOS游戏框架Sprite Kit基础教程下册
- 关于Redis的数据迁移(三种方法)
- C#Socket开发TCP详解(二)
- mvc html传参数乱码,SpringMVC Controller 接收页面传递的中文参数出现乱码
- React v16.0正式版发布
- DELPHI GetClassName - 获取指定窗口的类名
- 商标申请的企业法律服务可避免法律风险
- gflags.lib(gflags.obj) : error LNK2001: 无法解析的外部符号 __imp_PathMatchSpecA
- mongodb 如何更改端口号_Python 操作 MongoDB 数据库介绍
- Android Studio 常用快捷键和使用技巧
- DASCTF X GFCTF 2022十月挑战赛 WriteUp
- 当前HNB资讯加热不燃烧产品与传统中烟加热卷烟有哪些区别?
- 成功解决python.exe 无法找到程序入口 无法定位程序输入点
- 海量搜索服务架构搭建2-SolrCloud集群搭建
- 【fread/fwrite】C语言API之fread/fwrite函数详解
- 省赛培训-RHEL6-v3.0
- oracle2108什么意思,Oracle存储过程(包:PACK_KPI_KERNEL For YS三度评价体系)
- 专注做事,竟然也成为我们的稀缺能力