1 solutions

  • 0
    @ 2025-11-5 15:02:20

    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