PAT Basic 1014
PAT Basic 1014. 福尔摩斯的约会 (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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
解答:
星期week -> 前两个输入的第一个相等的大写字母且小于F
小时hour -> 从星期位置之后,第一个相等的数字或者大写的A到N之间的字母;
分钟minute -> 后两个输入的第一个相等的英文字符的位置
#include <iostream>
#include <string>
#include <cmath>
#include <cstdio>//ACusing namespace std;string weeks[7]={"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};
string four_input[4];int main(){for(int i=0;i<4;i++) cin>>four_input[i];int len1=four_input[0].length();int len2=four_input[1].length();int min_len=min(len1, len2);char a,b;int week, hour, minute;int i;for(i=0;i<min_len;i++){a=four_input[0][i];b=four_input[1][i];if(a==b){if(isupper(a)&&a<=71){week=a-'A';break;}}}for(i=i+1;i<min_len;i++){a=four_input[0][i];b=four_input[1][i];if(a==b){if(a>=48&&a<=57){hour=a-'0';break;}else if(a>=65&&a<=78){hour=10+(a-'A');break;}}}len1=four_input[2].length();len2=four_input[3].length();min_len=min(len1, len2);for(i=0;i<min_len;i++){a=four_input[2][i];b=four_input[3][i];if(a==b){if(isalpha(a)){minute=i;}}}cout<<weeks[week]<<" ";if(hour<10) cout<<"0"<<hour<<":";else cout<<hour<<":";if(minute<10) cout<<"0"<<minute<<endl;else cout<<minute<<endl;return 0;
}
PAT Basic 1014相关推荐
- PAT (Basic Level) Practice (中文)答案合集
准备复试专用,目标刷完全部中文题! 1001 害死人不偿命的(3n+1)猜想 (15 分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ...
- 【题解】PAT (Basic Level) Practice (中文)
互联网行业的小白,写博客的目的是为了记录自己的学习过程.对自己学习中所犯的错误做一个总结.由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教! PAT Basic Level P ...
- PAT乙级真题全集-PAT (Basic Level) Practise (中文)
1001. 害死人不偿命的(3n+1)猜想 (15) 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去, ...
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ...
- PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20)
PAT (Basic Level) Practise (中文)-1034. 有理数四则运算(20) http://www.patest.cn/contests/pat-b-practise/1034 ...
- PAT basic level 答案+解题思路+难点 (个人刷题记录)
PAT basic level 使用语言:C++ 仅记录一下自己刷题过程的心得体会 永远保持更新(期待更好的解法) 可能有些题没有(那就是我还没做出来,以后会更的!) 欢迎大家与我讨论交流√ 题目序列 ...
- 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)
可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决) c1, c2 = map(int,input().split( ...
- 1001 害死人不偿命的(3n+1)猜想 (15分) PAT (Basic Level) Practice (中文)C语言版
PAT (Basic Level) Practice (中文) 1001 害死人不偿命的(3n+1)猜想 (15分) 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一 ...
- 卡拉兹(Callatz)猜想,PAT(Basic Level) Practise NO.1001
PAT(Basic Level) Practise NO.1001 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半. 这样 ...
最新文章
- java设置access-allow_Java Web如何设置多个Access-Control-Allow-Origin
- 逆向了一下hh.exe
- hdu 1054 Strategic Game 二分图最小点覆盖
- python自动化框架pytest pdf_Python 自动化测试框架 unittest 和 pytest 对比
- C++中STL-vector的用法
- 使用Ueditor点击上传图片时显示延迟的问题
- 大数据挑战与NoSQL数据库技术pdf
- 一共有多少种操作系统
- 【CF1325E】 Ehab's REAL Number Theory Problem(思维+最小环bfs)
- 小程序源码:全新外卖侠cps5.6全套微信小程序源码下载-多玩法安装简单
- 最好听的男孩英文名字大全
- Excel 快速填充空白
- VS 自带DLL注册工具注册Dll
- Axure RP 9操作界面介绍【教程一】
- mysql 父子关系查询,父子关系-SQL查询
- 程序员是一群什么样的人,1024程序员节调查报告」这群IT人有点东西哟
- 【Unity Shader 中Pass相关介绍_第二篇】
- 玩转华为ENSP模拟器系列 | 配置L3VdPdNd迭代SR-BE隧道示例
- 设置导航栏字体大小,颜色和加粗字体的方法
- 高速PCB设计指南系列(四)
热门文章
- 无人驾驶1——自动驾驶硬件、软件概述
- (20210208已解决)numexpr.utils:NumExpr defaulting to 4 threads
- win11电脑安装ie11浏览器
- 衡量 DevOps 成功与否的重要度量指标
- 如何取淘宝登录的完整cookies
- PTA 1018 锤子剪刀布 (c语言)
- wxwidget编译安装_win7下wxwidgets开发环境配置
- win 2012 iis 401 - 未授权: 由于凭据无效,访问被拒绝。您无权使用所提供的凭据查看此目录或页面,百度编辑器等图片无法显示
- Freemaker生成静态html页面
- 1-Click PC Tuneup软件-破解实录-[附加篇]编写注册机