POJ玛雅历

关键就是从0开始和从1开始的区别。

#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<algorithm>
using namespace std;

map<string,int> MH={
	{"pop",0}, {"no",1},{"zip",2},{"zotz",3} , {"tzec",4}, {"xul",5},
	{"yoxkin",6} ,{"mol",7} , {"chen",8},{"yax",9} ,{"zac",10} ,{"ceh",11} , 
	{"mac",12},{"kankin",13} ,{"muan",14} ,{"pax",15} ,{"koyab",16} ,{"cumhu",17},
	{"uayet",18} 
};

string MT[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;
	scanf("%d",&n);
	getchar();
	printf("%d\n",n);
	
	while(n--){
		int d,m,y,days=0;;
		string M;
		char t[100],tt[10];
		gets(t);
		sscanf(t,"%d. %s %d",&d,tt,&y);
		M=tt;
		days=d+MH[M]*20+y*365+1;//days表示世界开始后的第几天 
		printf("%d %s %d\n",(days-1)%13+1,MT[(days-1)%20].c_str(),(days-1)/260); 
	}
	return 0; 
}





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值