zoukankan      html  css  js  c++  java
  • Maya Calendar

    ~题目链接~

    http://poj.org/problem?id=1008&lang=default&change=true

    输入

    3
    10. zac 0
    0. pop 0
    10. zac 1995

    结果

    3
    3 chuen 0
    1 imix 0
    9 cimi 2801

    注意处理临界点

    4. uayet 259
    正解是 13 ahau 364
    而不是13 ahau 365
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    char Haab[19][10]= {"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
    char Tzolkin[20][10]= {"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
    
    int main()
    {
        int n;
        scanf("%d",&n);
        printf("%d
    ",n);
        while(n--)
        {
            int day,year,data=0,i;
            char s[10];
            scanf("%d%*c%*c%s%*c%d",&day,s,&year);
            for(i=0; i<19; i++)
                if(strcmp(s,Haab[i])==0)
                    //data=365*year+20*i+day;
                    data=365*year+20*i+day+1;//总计天数
            //year=data/260;
            year=(data-1+260)/260-1;//年份(注意这组数据:4. uayet 259)
            //day=data%13;
            day=(data-1+13)%13+1;//日期计算(注意每一年的Tzolkin历最后一天)
            //int month=data%20;
            int month=(data-1+20)%20+1;
            //printf("%d %s %d
    ",day+1,Tzolkin[month],year);
            printf("%d %s %d
    ",day,Tzolkin[month-1],year);
        }
    
        return 0;
    }
    

      

      

  • 相关阅读:
    51nod 1179 最大的最大公约数 (数论)
    POJ 3685 二分套二分
    POJ 3045 贪心
    LIC
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    HDU 2389 Rain on your Parade
    HDU 2819 Swap
    HDU 1281 棋盘游戏
    HDU 1083 Courses
  • 原文地址:https://www.cnblogs.com/guoyongzhi/p/3233049.html
Copyright © 2011-2022 走看看