PAT乙级 1014. 福尔摩斯的约会
2015-07-18 16:39
387 查看
大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 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表示星期日。题目输入保证每个测试存在唯一解。
输入样例:
输出样例:
THU 14:04
代码如下(python):
输入格式:
输入在4行中分别给出4个非空、不包含空格、且长度不超过60的字符串。
输出格式:
在一行中输出约会的时间,格式为“DAY HH:MM”,其中“DAY”是某星期的3字符缩写,即MON表示星期一,TUE表示星期二,WED表示星期三,THU表示星期四,FRI表示星期五,SAT表示星期六,SUN表示星期日。题目输入保证每个测试存在唯一解。
输入样例:
3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm
输出样例:
THU 14:04
代码如下(python):
__author__ = 'lywade' import string week_dict = {"A":"MON", "B":"TUE", "C":"WED", "D":"THU", "E":"FRI", "F":"SAT", "G":"SUN"} hour_dict = {} hour_count = 10 for ascii_num in range(65,79): hour_dict[chr(ascii_num)] = hour_count hour_count += 1 for i in range(10): hour_dict[str(i)] = i def match(list1, list2, limit_list, start = 0): min_len = min(len(list1),len(list2)) for i in range(start, min_len): if list1[i] == list2[i] and list1[i] in limit_list: return [list1[i], i] input_list = [raw_input() for i in range(4)] week, position = match(input_list[0], input_list[1], week_dict.keys()) hour = match(input_list[0], input_list[1], hour_dict.keys(), start = position+1)[0] minute = match(input_list[2], input_list[3], string.letters)[1] print "%s %02d:%02d" %(week_dict[week], hour_dict[hour], minute)
相关文章推荐
- Override和Overload的区别
- Git详解之三 Git分支
- android studio使用git的部分注意事项
- scala(1)
- 谈谈跨域那些事
- Android开发之PackageManager类
- JAVA基础 - 数组中有没有length()这个方法?String中有没有 length()这个方法?
- 237-e-Delete Node in a Linked List
- [转]java中byte转换int时为何与0xff进行与运算
- 时间递归神经网络LSTM(Long-Short Term Memory)
- 全排列系列
- Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异
- 安卓MP3播放器开发实例(2)之音乐播放
- 用 snprintf / asprintf 取代不安全的 sprintf
- 浅拷贝和深拷贝
- JAVA基础 - 逻辑与&&和按位与&的区别
- #leetcode#Find Peak Element
- Linux-6.4-UDP
- java的接口和C++虚类的相同和不同之处
- How to Write a simple UEFI EDKII Application:如何编写一个UEFI简单的应用程序[5]