大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!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

分析:按照题目所给的方法找到相等的字符后判断即可,如果输出的时间不足2位数要在前面添0,即用%02d输出~

#include <iostream>
#include <cctype>
using namespace std;
int main() {string a, b, c, d;cin >> a >> b >> c >> d;char t[2];int pos, i = 0, j = 0;while(i < a.length() && i < b.length()) {if (a[i] == b[i] && (a[i] >= 'A' && a[i] <= 'G')) {t[0] = a[i];break;}i++;}i = i + 1;while (i < a.length() && i < b.length()) {if (a[i] == b[i] && ((a[i] >= 'A' && a[i] <= 'N') || isdigit(a[i]))) {t[1] = a[i];break;}i++;}while (j < c.length() && j < d.length()) {if (c[j] == d[j] && isalpha(c[j])) {pos = j;break;}j++;}string week[7] = {"MON ", "TUE ", "WED ", "THU ", "FRI ", "SAT ", "SUN "};int m = isdigit(t[1]) ? t[1] - '0' : t[1] - 'A' + 10;cout << week[t[0]-'A'];printf("%02d:%02d", m, pos);return 0;
}

1014. 福尔摩斯的约会 (20)-PAT乙级真题相关推荐

  1. PAT 1074. 宇宙无敌加法器(20)-PAT乙级真题

    地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为"PAT数".每个PAT星人都必须熟记各 ...

  2. 1057. 数零壹(20)-PAT乙级真题

    1057. 数零壹(20) 给定一串长度不超过10^5的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多 ...

  3. PAT 1072. 开学寄语(20)-PAT乙级真题

    1072. 开学寄语(20) 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过 ...

  4. 1064. 朋友数(20)-PAT乙级真题

    1064. 朋友数(20) 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如123和51就是朋友数,因为1+2 ...

  5. 1063. 计算谱半径(20)-PAT乙级真题

    1063. 计算谱半径(20) 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的n个复数空间的特征值{a1+b1i, ..., an+bni},它们的模为 ...

  6. 1062. 最简分数(20)-PAT乙级真题

    1062. 最简分数(20) 一个分数一般写成两个整数相除的形式:N/M,其中M不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按 ...

  7. 1007. 素数对猜想 (20)-PAT乙级真题

    让我们定义 dn 为:dn = pn+1 – pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在无穷多对相邻且 ...

  8. 1012. 数字分类 (20)-PAT乙级真题

    给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字: A1 = 能被5整除的数字中所有偶数的和: A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4-: A3 ...

  9. 1032. 挖掘机技术哪家强(20)-PAT乙级真题

    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式 输入在第1行给出不超过10^5的正整数N,即参赛人数.随后N行,每行给出一位 ...

最新文章

  1. centos6/7安装gitlab
  2. 干货 | 深度剖析C语言的main函数
  3. _WIN32_WCE有什么用
  4. 深入浅出单实例Singleton设计模式
  5. lingo的初步使用(集)
  6. 数据库系统实训——实验三——子查询与组合查询
  7. 利用 html 和 css 实现导航栏下拉(display block、display none)
  8. protobuf3 自定义option_Protobuf3语法详解
  9. redis---安全设置
  10. 简单介绍如何用Reporting Service制作报表
  11. JavaScript对滚动条的操作
  12. nginx php-fpm安装配置 CentOS编译安装php7.2
  13. php和apache配置 LoadModule php5_module D:/php/php5apache2.dll
  14. 计算机无法安装dx11,dx11组件是什么?提示缺少dx11组件的具体安装步骤
  15. Matlab实现图像识别(八)
  16. 超人工智能语音合成系统问世
  17. 统计字符串中数字字符、英文字符、空格符的个数
  18. 八月为什么有31天?
  19. 长期不上班是种怎样的体验?
  20. Please restart Word to load MathType addin properly;运行时错误53,文件未找到MathPage.WLL

热门文章

  1. cocos2D中scheduleOnce的陷阱
  2. 教您用事务一次处理多条SQL语句
  3. 设计模式学习之--Singleton(单例)模式
  4. Android 开发所碰到的问题汇总
  5. 响应式编程在Android 中的一些探索
  6. 万能日志数据收集器 Fluentd - 每天5分钟玩转 Docker 容器技术(91)
  7. exchange2010 取消OWA内更改密码选项
  8. 利用linux的mtrace命令定位内存泄露(Memory Leak)
  9. 网络安全系列之十八 MySQL基本操作(PHP注入基础)
  10. 多角度解读优酷土豆合并的深意