http://poj.org/problem?id=1008
先把距第一天的时间算出来,再算用另一个计法算出日子就好了,是用取余和整除做的题
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
string a1[19]={"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
string a2[20]={"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
int main()
{
int n;
cin>>n;
cout<<n<<endl;
for(int i=0;i<n;i++){
int x;
cin>>x;
string a;
cin>>a;
cin>>a;
int y;
cin>>y;
int day;
int m;
for(int j=0;j<20;j++){
if(a==a1[j]){
m=j;
break;
}
}
day=x+m*20+y*365;
int ry=day/260;
int rm=day%260%20;
int rd=day%13+1;
cout<<rd<<' '<<a2[rm]<<' '<<ry<<endl;
}
return 0;
}