POJ1008 日期转换(5)
来源:互联网 发布:java环境变量一键配置 编辑:程序博客网 时间:2024/05/16 08:57
1 题意
2 分析
唯一需要注意的,是Haab日历,每个月都是从0开始的,所以算sumday,在最后一个月除了+day_h,还要+1。
3
#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;char Haab_month_name[20][10]={"","pop","no","zip", "zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};//int Haab_month_day[20]={0,20,20,20,20,19,19,19,19,19,19,19,19,19,19,19,19,19,19,4};//int Tzolkin_name_num[13]={1,2,3,4,5,6,7,8,9,10,11,12,13};char Tzolkin_name_zimu[20][10]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};int sumday,year_h,month_h,day_h;int year_t,num_t,zimu_t;int n;void Cal_sumday(){ sumday=0; for(int i=0;i<year_h;i++){ sumday+=365; } for(int i=1;i<month_h;i++){ sumday+=20; } sumday+=(day_h+1);//day 从0开始}void Print(){ year_t=0; for(int i=0;sumday>260;i++){ year_t=i+1; sumday-=260; } num_t=(sumday-1)%13+1; zimu_t=(sumday-1)%20; printf("%d %s %d\n",num_t,Tzolkin_name_zimu[zimu_t],year_t);}int main(){ char str_month[10]; scanf("%d",&n); cout<<n<<endl; while(n--){ scanf("%d.%s%d",&day_h,str_month,&year_h); for(int i=1;i<=19;i++){ if(strcmp(Haab_month_name[i],str_month)==0){ month_h=i; break; } } Cal_sumday(); //cout<<"sumday: "<<sumday<<endl; Print(); }}
0 0
- POJ1008 日期转换(5)
- poj1008
- POJ1008
- POJ1008
- poj1008
- POJ1008
- poj1008
- poj1008
- poj1008
- poj1008
- POJ1008
- POJ1008
- poj1008
- poj1008
- poj1008
- POJ1008
- poj1008
- POJ1008
- 11988 - Broken Keyboard (a.k.a. Beiju Text)
- SpringMVC 中 @InitBinder
- android常见控件与布局
- Android匿名共享内存和MemoryFile
- 【译】SOLID:Part 2 - 开闭原则
- POJ1008 日期转换(5)
- 系统调用接口
- Session与Cookie的对比
- jzoj 4890. 【NOIP2016提高A组集训第14场11.12】随机游走 树上期望dp
- B-树
- jQuery过滤选择器——属性过滤选择器
- opencv BUG
- 二进制文件的打开
- 备战国际半程马拉松训练第一天总结