POJ 1008

//整除时注意下标问题就行了
#include <cstdio>
#include <cstring>
char HaabCal[19][10]={"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"};
char Tzolkin[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 day,year;
	int num,year2;
	char month[10];
	int nCase;
	scanf("%d",&nCase);
	printf("%d\n",nCase);
	int i,j,ii;
	for(ii=1;ii<=nCase;++ii)
	{
	   char ch;
       scanf("%d%c %s %d",&day,&ch,month,&year);
	   int monthnum;
	   for(i=0;i<19;++i)
		   if(strcmp(HaabCal[i],month)==0)
			   break;
	   monthnum=i;
	   int sumDay=year*365+monthnum*20+day+1;
	   year2=sumDay/260;
	   if(sumDay%260==0)
		   year2--;
	   int restday=sumDay-year2*260;
	   int num=restday%13;
	   if(num==0)
		   num=13;
	   int kk=restday%20;
	   if(kk==0)
		   kk=20;
	   printf("%d %s %d\n",num,Tzolkin[kk-1],year2);


	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值