poj做的第一个问题。Maya两种历法的转换。直接模拟即可。题目比较长,简单。
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
char hmn[19][10]={"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen",
"yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"};
char tdn[20][10]={"imix", "ik", "akbal","kan","chicchan", "cimi", "manik", "lamat", "muluk", "ok",
"chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau" };
int main()
{
int t;
int hd,hm,hy;
char hmm[10];
int ad;
int tn,td,ty;
scanf("%d",&t);
printf("%d\n",t);
while(t--)
{
scanf("%d. %s %d",&hd,hmm,&hy);
hm=0;
while(hm<19)
{
int f=0;
while(hmm[f]==hmn[hm][f])
{
if(hmm[f]==0)
break;
f++;
}
if(hmm[f]==0)
break;
hm++;
}
ad=hy*365+hm*20+hd;
ty=ad/260;
ad%=260;
tn=ad%13+1;
td=ad%20;
printf("%d %s %d\n",tn,tdn[td],ty);
}
return 0;
}