Question:http://poj.org/problem?id=1008
问题点:日历转换。
1 Memory: 280K Time: 16MS
2 Language: C++ Result: Accepted
3
4 #include <iostream>
5 #include <string.h>
6 #include <malloc.h>
7
8 using namespace std;
9 const char* Haab_Month[19]={
10 "pop", "no", "zip", "zotz", "tzec", "xul",
11 "yoxkin", "mol", "chen", "yax", "zac", "ceh",
12 "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"
13 };
14 const char* Tzolkin_DayName[20]={
15 "imix", "ik", "akbal", "kan", "chicchan",
16 "cimi", "manik", "lamat", "muluk", "ok",
17 "chuen", "eb", "ben", "ix", "mem",
18 "cib", "caban", "eznab", "canac", "ahau"
19 };
20 struct Haab{
21 int day;
22 int month;
23 int year;
24 };
25 struct Tzolkin{
26 int day;
27 int dayn;
28 int year;
29 };
30 int main()
31 {
32 int N;
33 cin>>N;
34 cout<<N<<endl;
35 for(int i=0;i<N;i++)
36 {
37 Haab h1;
38 float day;
39 char *month=(char *)malloc(sizeof(char)*10);
40 cin>>day>>month>>h1.year;
41 h1.day=(int)day;
42 for(int j=0;j<19;j++)
43 {
44 if(strcmp(month,Haab_Month[j])==0)
45 {
46 h1.month=j;
47 break;
48 }
49 }
50 int cnt=h1.year*365+h1.month*20+h1.day;
51 Tzolkin b1;
52 b1.year=cnt/260;
53 b1.dayn=cnt%20;
54 b1.day=cnt%13+1;
55 cout<<b1.day<<" "<<Tzolkin_DayName[b1.dayn]<<" "<<b1.year<<endl;
56 }
57 return 0;
58 }