不同计年方法之间的转化,我的思路是:根据各自计年方法的定义,将一种计年方法换算成总天数,再将总天数转化为令一种计年方法。
import java.util.*;
import java.io.*;
//1008 Maya Calendar
public class Main
{
static final String[] Haab = {"pop", "no", "zip", "zotz", "tzec", "xul",
"yoxkin", "mol", "chen", "yax", "zac",
"ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
static final String[] Tzolkin = {"imix", "ik", "akbal","kan","chicchan",
"cimi","manik","lamat","muluk","ok","chuen",
"eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
public static void main(String[] args) throws Exception {
Scanner in = new Scanner(new BufferedInputStream(System.in));
String line = in.nextLine();
System.out.println(line);
int countOfCase = Integer.parseInt(line);
int dotPos, lastSpacePos,
num, month, year,
worldDay;
while(countOfCase-- > 0) {
worldDay = 0;
line = in.nextLine();
dotPos = line.indexOf('.');
lastSpacePos = line.lastIndexOf(' ');
num = Integer.parseInt(line.substring(0, dotPos));
month = getMonth(line.substring(dotPos+2, lastSpacePos));
year = Integer.parseInt(line.substring(lastSpacePos+1));
worldDay += (year*365 + num);
if(month > 0)
worldDay += month*20;
System.out.printf("%d %s %d\n", (worldDay%260)%13 + 1, Tzolkin[(worldDay%260)%20], worldDay/260);
}
}
public static int getMonth(String monthStr) {
for(int i = 0; i < Haab.length; i++) {
if(Haab[i].equals(monthStr))
return i;
}
return -1;
}
}
分享到:
相关推荐
For religious purposes, the Maya used another calendar in which the year was called Tzolkin (holly year). The year was divided into thirteen periods, each 20 days long. Each day was denoted by a pair ...
【标题】"POJ1008-Maya Calendar"是一个编程竞赛题目,源自北京大学的在线判题系统POJ(Problem Online Judge)。这个题目要求参赛者编写程序,模拟玛雅历法,解决日期转换的问题。 【描述】解题报告通常包含了问题...
tzolkin-calendar-Maya Tzolk'in日期的转换器 该程序将玛雅人Tzolk'in日期转换为公历日期,反之亦然。 如果您想了解有关Maya日历系统的更多信息,请参见。 您可以在“情况”中找到有关安装和使用 可以在找到更详细 ...
总的来说,"maya-calendar-android"项目是一个融合了历史、文化、编程和技术的综合实践,展示了如何利用Java和Android SDK将古老的玛雅日历带入现代移动设备。通过这个应用,用户不仅可以学习到玛雅历法,还能体验到...
11. **日期处理**:这类题目涉及到日历和日期的操作,如Maya Calendar。需要熟悉日期计算、闰年判断等日期处理技巧。 12. **高精度**:高精度计算包括大数的精确计算,如Modular multiplication of polynomials。...
4. **日期处理**:"Maya Calendar"这样的题目可能要求处理日期和时间的转换,涉及到日历系统或时间计算。 5. **搜索**:包括深度优先搜索(DFS)和广度优先搜索(BFS),如"STAMPS"和"Anniversary Cake",可能需要设计...