1 solutions
-
0
C :
#include <stdio.h> #include <string.h> int main(){ int i,j; char mon1[19][10]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"}; char mon2[21][10]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"}; int day,year; int n,total; scanf("%d",&n); printf("%d\n",n); for (i=0;i<n;i++) { char mon[10]={""}; scanf("%d.%s %d",&day,mon,&year); for (j=0;j<19;j++) if (strcmp(mon,mon1[j])==0) break; total=j*20+day+year*365; day=(total)%13+1 ; year=total/260; j=total%20; printf("%d %s %d\n",day,mon2[j],year); } return 0; }C++ :
#include <iostream> #include<cstdio> #include<cstring> static inline unsigned habbtonum(unsigned day,const char*month,unsigned year) { unsigned days(year * 365 + day); if(!strcmp( month,"no")) { days+=20; }else if (!strcmp(month,"zip")){ days += 40; } else if (!strcmp(month,"zotz")){ days += 60; } else if (!strcmp(month,"tzec")){ days += 80; } else if (!strcmp(month,"xul")){ days += 100; } else if (!strcmp(month,"yoxkin")){ days += 120; } else if (!strcmp(month,"mol")){ days += 140; } else if (!strcmp(month,"chen")){ days += 160; } else if (!strcmp(month,"yax")){ days += 180; } else if (!strcmp(month,"zac")){ days += 200; } else if (!strcmp(month,"ceh")){ days += 220; } else if (!strcmp(month,"mac")){ days += 240; } else if (!strcmp(month,"kankin")){ days += 260; } else if (!strcmp(month,"muan")){ days += 280; } else if (!strcmp(month,"pax")){ days += 300; } else if (!strcmp(month,"koyab")){ days += 320; } else if (!strcmp(month,"cumhu")){ days += 340; } else if (!strcmp(month,"uayet")){ days += 360; } return days; } static inline void printTzolkin (unsigned days) { unsigned year(days/260); days-=260*year; printf( "%d ",days%13+1); switch(days%20) { case 0: printf("imix"); break; case 1: printf("ik"); break; case 2: printf("akbal"); break; case 3: printf("kan"); break; case 4: printf("chicchan"); break; case 5: printf("cimi"); break; case 6: printf("manik"); break; case 7: printf("lamat"); break; case 8: printf("muluk"); break; case 9: printf("ok"); break; case 10: printf("chuen"); break; case 11: printf("eb"); break; case 12: printf("ben"); break; case 13: printf("ix"); break; case 14: printf("mem"); break; case 15: printf("cib"); break; case 16: printf("caban"); break; case 17: printf("eznab"); break; case 18: printf("canac"); break; case 19: printf("ahau"); break; } printf(" %d\n",year); } int main() { unsigned count( 0),day(0),year(0); char month[8]={"\0"}; scanf("%d",&count); printf("%d\n",count); while(count--) { scanf("%d.%s%d",&day,month,&year); printTzolkin(habbtonum(day,month,year)); } return 0; }
- 1
Information
- ID
- 16355
- Time
- 2000ms
- Memory
- 64MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By