Run ID User Problem Result Memory Time Language Code Length Submit Time
6696056 kingpro 1008 Accepted 260K 16MS C++ 1374B 2010-04-06 20:15:07
5205698 kingpro 1008 Accepted 308K 0MS C++ 1481B 2009-05-22 15:58:05

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 struct calendar
 5 {
 6     int day;
 7     char cmonth[10];
 8     int year;
 9     bool isCal;
10 };
11 
12 int main()
13 {
14     char Haab[19][10]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
15     char Tzolkin[20][10]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
16 
17     int count=0, month=-1, rcount=0, i=0;
18     cin>>count;
19     calendar * cals=new calendar[count];
20     for(i=0; i<count && (cin>>cals[i].day, cin.ignore(), cin>>cals[i].cmonth>>cals[i].year, true); i++);
21     for(i=0; i<count; i++, month=-1)
22     {
23         if((cals[i].day<0 || cals[i].day>19 || cals[i].year>5000 || cals[i].year<0&& (cals[i].isCal=falsetrue))
24             continue;
25         for(int j=0; j<19; j++)
26             if(!strcmp(cals[i].cmonth, Haab[j]) && (month=j, true))
27                 break;
28         if((month==-1 || (month==18 && cals[i].day>4)) && (cals[i].isCal=falsetrue))
29             continue;
30         int daycount=cals[i].year*365+20*month+cals[i].day;
31         cals[i].year=daycount/260, cals[i].day=(daycount%260)%13+1, strcpy(cals[i].cmonth, Tzolkin[(daycount%260)%20]), cals[i].isCal=true, rcount++;
32     }
33     for(cout<<rcount<<endl, i=0; i<count && (cals[i].isCal && (cout<<cals[i].day<<" "<<cals[i].cmonth<<" "<<cals[i].year<<endl), true); i++);
34     return 0;
35 }

 

 

模拟 换算

 posted on 2010-04-06 20:19  步碎酒散花醉  阅读(373)  评论(0)    收藏  举报