算法:POJ1008 Maya Calendar

此题非常水,不做说明。

package practice;

import java.io.BufferedInputStream;
import java.util.Scanner;

/**
 * @author caiyu
 * @date 2014-12-2
 */
public class POJ1008 {
    static final String[] HaabMonth = new String[] { "pop", "no", "zip",
            "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac",
            "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet" };
    static final String[] TzolkinMonth = new String[] { "imix", "ik", "akbal",
            "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok",
            "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab",
            "canac", "ahau" };

    /**
     * @param args
     */
    public static void main(String[] args) {

        Scanner cin = new Scanner(new BufferedInputStream(System.in));
        int t = cin.nextInt();
        for (int i = 0; i < t; i++) {
            float d = cin.nextFloat();
            String m = cin.next();
            int y = cin.nextInt();
            System.out.println(convert(d, m, y));
        }
    }

    private static String convert(float d, String m, int y) {
        int md = 0;
        for (int i = 0; i < HaabMonth.length; i++) {
            if (HaabMonth[i].equals(m)) {
                md = i * 20;
            }
        }
        int days = y * 365 + (int) d + md;
        return days % 13 + 1 + " " + TzolkinMonth[days % 20] + " " + days / 260;
    }
}
时间: 2024-07-30 01:46:27

算法:POJ1008 Maya Calendar的相关文章

POJ-1008 Maya Calendar

[题目描述] 将Haab历法的日期转化为Tzolkin历法,前者一年365天,后者一年260天.(简直比我们的历法转换还简单,都没闰年!) [思路分析] 简单的思路就是将Haab历法的日期转换成从第一天开始的总天数,再转换成Tzolkin历法.由于最大年份为5000年,乘上365天也不会使int型越界,所以放心转吧. 做题过程中主要复习的知识点是: 1. STL中map的用法: map<string, int> HaabMonth; // 定义 HaabMonth.insert( pair&l

[POJ] POJ1008 Maya Calendar

该篇作为POJ之路的起点,初学乍道,请多指教. Problem: Maya Calendar Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, professor discovered that the Maya civilization used a 365

POJ1008 Maya Calendar

对比才能看出差距!先是我写的一段代码,然后是参考高手的一段代码,对比分析. import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int lineNumber = scanner.nextInt();

POJ-1008: Maya Calendar 详解1: 直接计算法

> 分析 >> 本题先计算出总天数,再进行转换即可 > 注意 >> 字符串不要抄错 >> 输出时也要先输出个数 >> 函数"strnlen"会导致GCC编译不过 > 附代码 1 #include "stdio.h" 2 #include "stdlib.h" 3 4 const char haabMonStr[19][8] = 5 { "pop", "

[POJ] #1008# Maya Calendar : 字符处理/同余问题

一. 题目 Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 74085   Accepted: 22819 Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message,

poj 1008:Maya Calendar(模拟题,玛雅日历转换)

Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 64795   Accepted: 19978 Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, profes

B - Maya Calendar(第二季水)

Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an old knotted message, professor discovered that the Maya civilization used a 365 day long year, called Haab, which had 19 month

Poj Maya Calendar

http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64607 Accepted: 19908 Description During his last sabbatical, professor M. A. Ya made a surprising discovery about the old Maya calendar. From an

Poj OpenJudge 百练 Bailian 1008 Maya Calendar

1.Link: http://poj.org/problem?id=1008 http://bailian.openjudge.cn/practice/1008/ 2.content: Maya Calendar Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 66971   Accepted: 20644 Description During his last sabbatical, professor M. A. Ya