题目

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

C++实现

#include <iostream>
#include <cctype>using namespace std;int main() {int c;char a, b;bool x = true;string s1, s2, s3, s4;cin >> s1 >> s2 >> s3 >> s4;string DAY[7] = {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};for (int i = 0; i < s1.length() && i < s2.length(); ++i) {if (s1[i]==s2[i]){if (x && 'A' <= s1[i] && s1[i] <= 'G'){x = false;a = s1[i];continue;}if (!x && (isdigit(s1[i]) || (s1[i] >= 'A' && s1[i] <= 'N'))){b = s1[i];break;}}}for (int j = 0; j < s3.length() && j < s4.length(); ++j) {if (s3[j] == s4[j] && isalpha(s3[j])) {c = j;break;}}
//    cout<<a<<' '<<b<<' '<<c<<endl;cout << DAY[a - 'A'] << ' ';int m=isdigit(b) ? b - '0' : b - 'A' + 10;printf("%02d:%02d", m, c);return 0;
}

python实现

a = input ()
b = input ()
c = input ()
d = input ()
result = []
DAY = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]for i in range (min (len (a), len (b))):if a[i] == b[i] and 'A' <= a[i] <= 'G':result.append (ord (a[i]) - ord ('A') + 1)breakfor j in range (i + 1, min (len (a), len (b))):if a[j] == b[j] and 'A' <= a[i] <= 'N':result.append (str (ord (a[j]) - ord ('A') + 10))breakelif a[j] == b[j] and '0' <= a[j] <= '9':result.append ('0' + a[j])breakfor i in range (min (len (a), len (b))):if ('a' <= c[i] <= 'z' or 'A' <= c[i] <= 'Z') and c[i] == d[i]:if i < 10:result.append ('0' + str (i))else:result.append (str (i))breakprint ("%s %s:%s" % (DAY[result[0] - 1], result[1], result[2]))

PAT (Basic Level) Practice (中文)1014 福尔摩斯的约会 (20 分)相关推荐

  1. 希望PAT耗子尾汁:1014 福尔摩斯的约会 (20分)——22行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEd ...

  2. 1014 福尔摩斯的约会 (20 分)|一道我认为烂透了的题

    1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  3. C++学习之路 | PTA乙级—— 1014 福尔摩斯的约会 (20分)(精简)

    1014 福尔摩斯的约会 (20分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hys ...

  4. 1014 福尔摩斯的约会 (20 分)

    1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  5. 1014 福尔摩斯的约会 (20 分) Python和C++版本

    1014 福尔摩斯的约会 (20 分) 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hy ...

  6. PTA平台 · PAT(Basic Level) Practice(中文) 题目集

    前  言 ※  PTA是 程序设计类实验辅助教学平台 ,里边包含一些编程题目集以供练习. ※  PAT是 浙江大学计算机程序设计能力考试(Programming Ability Test),分为乙级( ...

  7. 【PAT (Basic Level) 】1014 福尔摩斯的约会 (20 分)

    大侦探福尔摩斯接到一张奇怪的字条: 我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm 大侦探很快就明白了,字条上 ...

  8. PAT乙类1014 福尔摩斯的约会 (20 分)

    一.题目 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm.大侦探很快就明白了 ...

  9. 【PAT (Advanced Level) Practice】1054 The Dominant Color (20 分)

    1054 The Dominant Color (20 分) Behind the scenes in the computer's memory, color is always talked ab ...

  10. 【PAT (Advanced Level) Practice】1005 Spell It Right (20 分)

    #include<iostream> #include<cstdio> #include<cstdlib> #include<string> #incl ...

最新文章

  1. C#----DataGridView控件60招(一) [转]
  2. 近两年跟踪速度较快的算法小结
  3. 简单了解RestTemplate
  4. jmx JVM监测工具使用
  5. Linux创始人:v5.8是有史以来最大的发行版之一
  6. spring 事务隔离级别和传播行为_Java工程师面试1000题146-Spring数据库事务传播属性和隔离级别...
  7. pytorch使用Ray-tune对原有训练模型的代码改写,自动调参(一)
  8. 寻仙服务器要维护多久,新寻仙正式服5.2.62.1版本更新公告
  9. 梯度消失与梯度爆炸----解决方案(一)
  10. Python:学习笔记
  11. uva 10755 Garbage Heap
  12. 初级算法15.有效的字母异位词
  13. VMClean(vmware卸载清理,解决卸载MSI问题)
  14. 思想实验及其在科学发展中的作用
  15. 简约至上(交互设计四策略)
  16. Linux,你了解多少!
  17. 最详细的大数据学习路线图
  18. 怎么卸载apowerrec_Win10怎么卸载预装软件 Win10卸载预装应用教程
  19. Polyline Simplification(多线段简化/离散采样)
  20. 第2关:求五边形的面积

热门文章

  1. CentOS7——卡在在启动界面
  2. mysql中难以理解的sql
  3. 207-Course Schedule
  4. python的类变量和成员变量用法_Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析...
  5. 近似求PI(15 分)
  6. vue中模板编译compiler源码详解
  7. android 原始编译过程,Android编译系统环境初始化过程分析.doc
  8. C语言学习之购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。
  9. 计算机道德 英语作文,公共道德英语作文
  10. OpenGL实现3D魔方游戏源代码