poj 1008 Maya Calendar

POJ的陷阱多多。。

first WA:没考虑到一年中最后一天的情况,改了,也通过了一组discuss中的数据;

2~3th WA:完全忽略了题目要求第一行输出test的个数;

4th WA:输出格式中日的后面没有'.'。。。彻底服了

 1 # include <stdio.h>
2
3 const char habbm[20][10] = {" ", "pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen",
4 "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"};
5
6 const char tzom[21][10] = { " ", "imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok",
7 "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
8
9 int month(char *m);
10
11 int main()
12 {
13 int T, day, d, m, y;
14 char M[10];
15
16 while (~scanf("%d", &T))
17 {
18 printf("%d\n", T);
19 while (T--)
20 {
21 scanf("%d. %s %d", &d, M, &y);
22 day = y*365 + (d+1) + 20*(month(M)-1);
23 y = (day-1) / 260;
24 day = day % 260;
25 d = (day + 12)%13 + 1;
26 m = (day + 19)%20 + 1;
27 printf("%d %s %d\n", d, tzom[m], y);
28 } }
29
30 return 0;
31 }
32
33 int month(char *m)
34 {
35 int i;
36 for (i = 1; i <= 19; ++i)
37 {
38 if (strcmp(habbm[i], m) == 0) return i;
39 }
40 }



posted on 2012-03-28 13:46  getgoing  阅读(257)  评论(0编辑  收藏  举报

导航