您的位置:首页 > 编程语言 > C语言/C++

PAT-B 1014. 福尔摩斯的约会(python, C++)

2014-05-25 03:19 459 查看
python提交后竟然WA: 返回非零,不知道怎么搞,还是回到C的怀抱做题好了 —— 用py自带的GUI写代码真是太慢了!

字符串的模拟题,和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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PAT-B python