PAT-B 1014. 福尔摩斯的约会(python, C++)
2014-05-25 03:19
459 查看
python提交后竟然WA: 返回非零,不知道怎么搞,还是回到C的怀抱做题好了 —— 用py自带的GUI写代码真是太慢了!
字符串的模拟题,和PAT-A的1061相同。
这是之前写的C+=代码,注意到因为题目保证一定有解,所以在for迭代中i < s1.size()这样的判断其实是可以省去的,这样代码会简洁一些:
只通过测试点5的python, 知道为什么出错:返回非零的请告诉我一声:
字符串的模拟题,和PAT-A的1061相同。
这是之前写的C+=代码,注意到因为题目保证一定有解,所以在for迭代中i < s1.size()这样的判断其实是可以省去的,这样代码会简洁一些:
#include <string> #include <iostream> using namespace std; string day[256]; int minute[256]; void init() { day['A'] = "MON"; day['B'] = "TUE"; day['C'] = "WED"; day['D'] = "THU"; day['E'] = "FRI"; day['F'] = "SAT"; day['G'] = "SUN"; for (int i = '0'; i <= '9'; ++ i) { minute[i] = i - 48; } for (int i = 'A'; i <= 'N'; ++ i) { minute[i] = i - 'A' + 10; } } void print_day(char c) { printf("%s ", day[c].c_str()); } void print_minute(char c) { printf("%02d:", minute[c]); } int main() { string s1, s2, s3, s4; cin >> s1 >> s2 >> s3 >> s4; init(); bool find_day = false; for (size_t i = 0; i < s1.size() && i < s2.size(); ++ i) { if (find_day == false && s1[i] == s2[i] && s1[i] >= 'A' && s1[i] <= 'G') { print_day(s1[i]); find_day = true; } else if (find_day == true && s1[i] == s2[i] && ((s1[i] >= 'A' && s1[i] <= 'N') || (s1[i] >= '0' && s1[i] <= '9')) ) { print_minute(s1[i]); break; } } for (size_t i = 0; i < s3.size() && i < s4.size(); ++ i) { if (s3[i] == s4[i] && ((s3[i] >= 'A' && s3[i] <= 'Z') || (s3[i] >= 'a' && s3[i] <= 'z'))) { printf("%02d\n", i); break; } } return 0; }
只通过测试点5的python, 知道为什么出错:返回非零的请告诉我一声:
from __future__ import print_function #!!!!! if __name__ == '__main__' : dic = {} dic['A'] = 'MON' dic['B'] = 'TUE' dic['C'] = 'WED' dic['D'] = 'THU' dic['E'] = 'FRI' dic['F'] = 'SAT' dic['G'] = 'SUN' s1 = raw_input() s2 = raw_input() s3 = raw_input() s4 = raw_input() i = 0 while s1[i]<'A' or s1[i]>'G' or s1[i] != s2[i]: i = i + 1 print(dic[s1[i]], end=' ') i = i + 1 while s1[i]<'A' or s1[i]>'G' or s1[i] != s2[i]: i = i + 1 if s1[i] <= '9' and s1[i] >= '0' : print('0%s'%s1[i], end=':') else : print(ord(s1[i])-ord('A')+10, end=':') i = 0 while ((s3[i]<'a' or s3[i]>'z') and (s3[i]<'A' or s3[i]>'Z')) or s3[i] != s4[i] : i = i + 1 print('%02d'%i)
相关文章推荐
- PAT1014 BASIC:福尔摩斯的约会 (20)
- PAT1014. 福尔摩斯的约会
- Pat(Basic Level)Practice--1014(福尔摩斯的约会)
- PAT 1014 福尔摩斯的约会
- 浙大PAT 1014. 福尔摩斯的约会 (解题思路)
- PAT basic 1014 : 福尔摩斯的约会
- PAT (Basic Level) Practise:1014. 福尔摩斯的约会
- PAT 1014 福尔摩斯的约会
- PAT1014 福尔摩斯的约会
- PAT (Basic Level) Practise (中文)- 1014. 福尔摩斯的约会 (20)
- 【再思考】PATBasic——1014. 福尔摩斯的约会 (20)
- PAT乙级 1014. 福尔摩斯的约会
- 【C++】浙大PAT (Basic Level)1014. 福尔摩斯的约会 (20)
- 浙江大学PAT上机题解析之1014. 福尔摩斯的约会 (20)
- 浙江大学PAT_乙级_1014. 福尔摩斯的约会 (20)
- 编程题目: PAT 1014. 福尔摩斯的约会 (20)
- PAT (Basic Level) Practise (中文)1014. 福尔摩斯的约会 (20)
- PAT1014福尔摩斯的约会
- PAT 1014. 福尔摩斯的约会
- PAT Basic Level 1014. 福尔摩斯的约会(20)