题目

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

分析

这个题,题目很长,有点点绕,看似是一个推理题,实则是一个字符匹配题。不要慌,只需分别求约会时礼拜几,约会时几点,具体分钟然后连起来就可以了。

  • 对于礼拜几。一个星期共7天,所以只需找到前面两个字符串中字符相等(第一次)属于A~G的字符
  • 对于几点。分为0-9点和10-23点,前者,在前加0输出;后者则是找出前面两个字符串中字符相等(第二次)属于A~N的字符
  • 对于具体分钟。0-9时,在前加0输出;10-59时,转为字符串输出。

AC代码

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
string Day(char c)
{string day;switch(c){case 'A':day="MON";break;case 'B':day="TUE";break;case 'C':day="WED";break;case 'D':day="THU";break;case 'E':day="FRI";break;case 'F':day="SAT";break;case 'G':day="SUN";break;}return day;
}
string Hour(char c)
{string day;switch(c){case 'A':day="10";break;case 'B':day="11";break;case 'C':day="12";break;case 'D':day="13";break;case 'E':day="14";break;case 'F':day="15";break;case 'G':day="16";break;case 'H':day="17";break;case 'I':day="18";break;case 'J':day="19";break;case 'K':day="20";break;case 'L':day="21";break;case 'M':day="22";break;case 'N':day="23";break;}return day;
}int main()
{int i,flag=0;string str[4],day,hour,min;char ch[4][61];for(i=0;i<4;i++){cin>>str[i];strcpy(ch[i],str[i].c_str());}//求约会是礼拜几和几点for(i=0;i<61;i++){if(ch[0][i]==ch[1][i]){if(ch[0][i]>='A'&&ch[0][i]<='G'&&flag==0){day=Day(ch[0][i]);flag=1;continue; }int temp=ch[0][i]-'0';if(temp>=0&&temp<9&&flag==1){hour="0"+to_string(temp);break;}if(ch[0][i]>='A'&&ch[0][i]<='N'&&flag==1){hour=Hour(ch[0][i]);break;}}}//分钟for(i=0;i<61;i++){if(ch[2][i]==ch[3][i]){if((ch[2][i]>='a'&&ch[2][i]<='z')||(ch[2][i]>='A'&&ch[2][i]<='Z')){if(i<=9){min="0"+to_string(i);break;}else{min=to_string(i);break;}}}}cout<<day+" "+hour+":"+min;return 0;
}

总结

  • 代码长度比较长,选择数据类型时没有太多思考,后面会优化一下。
  • 在提交的过程中,总是有个点不得分。后面仔细读题,发现,开始读题理解错误。求分钟时它是以第3、4字符串中第一对相同字母出现的位置来判定的,以为字母要求小写字母,其实只是举例而已。
    正在刷pat的菜鸟一枚,希望得到鼓励与支持
    有任何问题,在评论区留言告诉我哦

更多题解
pat 乙级 题解汇总(持续更新)(C++)

pat 乙级 1014 福尔摩斯的约会 (C++)相关推荐

  1. PAT乙级(1014 福尔摩斯的约会)

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

  2. PAT 乙级1014 福尔摩斯的约会(C语言)

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

  3. PAT 乙级 1014. 福尔摩斯的约会 (20) Java版

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

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

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

  5. pat乙级 1014 java_pat乙级1014 福尔摩斯的约会

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

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

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

  7. 【PAT乙级】1014 福尔摩斯的约会

    目录 一.题目 二.我的AC代码 一.题目 1014 福尔摩斯的约会 (20分)   大侦探福尔摩斯接到一张奇怪的字条: 我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEd ...

  8. 浙江大学PAT (Basic Level) Practice (中文)1014福尔摩斯的约会JAVA实现代码及分析

    1014 福尔摩斯的约会 这道题需要注意的地方有以下几点: ①决定星期几的是前两个字符串的第一个相同的大写字母,注意是第一个大写的字母,小写不算. ②决定分钟数的是后两对字符串的第一个相同的字母所出现 ...

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

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

最新文章

  1. Jupyter Notebook显示图像
  2. java抛出数组格式异常,Java中异常
  3. fabric 简单理解
  4. 整合NHibernate到Spring.Net (之一)
  5. 上学的你,是不是最怕老师给家长打电话……
  6. 【转】C#搭建Oauth2.0认证流程以及代码示例
  7. boot spring 怎么执行hql_Intellij如何使用Spring Boot正确配置hql。现在我得到持久性QL查询已进行错误检查...
  8. 腾讯人均月薪8万!第一季度财报发布:微信月活数恐怖,游戏平均日赚4亿
  9. SAP License:SAP-Coding Block
  10. java GC垃圾回收
  11. 挑战程序设计竞赛(第2版) 第3章笔记
  12. java hmget 最大值,【Redis】基本数据类型及命令操作(超详细)
  13. Python 之 函数基础
  14. Vue学习笔记(七)
  15. ExtJS TreeGrid的使用方法
  16. ecshop二次开发_Logo和版权信息
  17. Android开发打开手机自带浏览器
  18. 手机数据恢复华为荣耀X1智能手机32G内置存储手机严重损坏恢复照片聊天记录文档...
  19. div+css静态网页设计游戏网站设计——仿君海游戏官网(13页) HTML+CSS大作业_ 手游网页制作作业_网游网页设计...
  20. A Co-Memory Network for Multimodal Sentiment Analysis

热门文章

  1. jsf集成spring_JSF 2,PrimeFaces 3,Spring 3和Hibernate 4集成项目
  2. 内存映射获取行数_使用内存映射文件获取巨大的矩阵
  3. java高频面试_C ++或Java,高频交易哪个更快?
  4. 如何摆脱JavaFX中的重点突出显示
  5. 使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码
  6. 一日三项令人兴奋的Lucene功能
  7. 全文搜索Apache Lucene简介
  8. 斐讯k1潘多拉专版固件_斐讯K1刷专版潘多拉固件以及教程(使用感受)
  9. 早期计算机的应用主要是( ) (2分),计算机基础第1次作业(含答案)
  10. java 网络编程 方式_JAVA网络编程