PKU 1008-Maya Calendar
問題概要
解法
頑張って実装する
実装(Java)
import java.util.*; import java.math.*; import java.io.*; import static java.lang.Math.*; import static java.util.Arrays.*; public class Main { Scanner input; String[] Haabmonth={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"}; String[] TzolikinMonth={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"}; int Haab2day(int day,String month,int year){ int res=year*365; for(int i=0;i<Haabmonth.length;i++){ if(month.equals(Haabmonth[i]))break; res+=20; } return res+day; } void run(){ input=new Scanner(System.in); int n; n=input.nextInt(); printf("%d\n",n); for(int i=0;i<n;i++){ int day,year;String month; day=Integer.parseInt(input.next().split("\\.")[0]); month=input.next(); year=input.nextInt(); int value=1;int name=0; int d=Haab2day(day,month,year); year=d/260; d%=260; for(int j=0;j<d;j++){ value++;name++; if(value==14)value=1; if(name==20)name=0; } printf("%d %s %d\n",value,TzolikinMonth[name],year); } } void printf(String format,Object... args){ System.out.printf(format, args); } public static void main(String[] args) { new Main().run(); } }