杭电OJ题 1444 Maya Calendar解题报告
来源:互联网 发布:淘宝的英树是正品吗 编辑:程序博客网 时间:2024/06/05 20:48
Maya Calendar
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 359 Accepted Submission(s): 158
Total Submission(s): 359 Accepted Submission(s): 158
Problem 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 months. Each of the first 18 months was 20 days long, and the names of the months were pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu. Instead of having names, the days of the months were denoted by numbers starting from 0 to 19. The last month of Haab was called uayet and had 5 days denoted by numbers 0, 1, 2, 3, 4. The Maya believed that this month was unlucky, the court of justice was not in session, the trade stopped, people did not even sweep the floor.
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 consisting of a number and the name of the day. They used 20 names: imix, ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, eb, ben, ix, mem, cib, caban, eznab, canac, ahau and 13 numbers; both in cycles.
Notice that each day has an unambiguous description. For example, at the beginning of the year the days were described as follows:
1 imix, 2 ik, 3 akbal, 4 kan, 5 chicchan, 6 cimi, 7 manik, 8 lamat, 9 muluk, 10 ok, 11 chuen, 12 eb, 13 ben, 1 ix, 2 mem, 3 cib, 4 caban, 5 eznab, 6 canac, 7 ahau, and again in the next period 8 imix, 9 ik, 10 akbal . . .
Years (both Haab and Tzolkin) were denoted by numbers 0, 1, : : : , where the number 0 was the beginning of the world. Thus, the first day was:
Haab: 0. pop 0
Tzolkin: 1 imix 0
Help professor M. A. Ya and write a program for him to convert the dates from the Haab calendar to the Tzolkin calendar.
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 consisting of a number and the name of the day. They used 20 names: imix, ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, eb, ben, ix, mem, cib, caban, eznab, canac, ahau and 13 numbers; both in cycles.
Notice that each day has an unambiguous description. For example, at the beginning of the year the days were described as follows:
1 imix, 2 ik, 3 akbal, 4 kan, 5 chicchan, 6 cimi, 7 manik, 8 lamat, 9 muluk, 10 ok, 11 chuen, 12 eb, 13 ben, 1 ix, 2 mem, 3 cib, 4 caban, 5 eznab, 6 canac, 7 ahau, and again in the next period 8 imix, 9 ik, 10 akbal . . .
Years (both Haab and Tzolkin) were denoted by numbers 0, 1, : : : , where the number 0 was the beginning of the world. Thus, the first day was:
Haab: 0. pop 0
Tzolkin: 1 imix 0
Help professor M. A. Ya and write a program for him to convert the dates from the Haab calendar to the Tzolkin calendar.
Input
The date in Haab is given in the following format:
NumberOfTheDay. Month Year
The first line of the input file contains the number of the input dates in the file. The next n lines contain n dates in the Haab calendar format, each in separate line. The year is smaller then 5000.
NumberOfTheDay. Month Year
The first line of the input file contains the number of the input dates in the file. The next n lines contain n dates in the Haab calendar format, each in separate line. The year is smaller then 5000.
Output
The date in Tzolkin should be in the following format:
Number NameOfTheDay Year
The first line of the output file contains the number of the output dates. In the next n lines, there are dates in the Tzolkin calendar format, in the order corresponding to the input dates.
Number NameOfTheDay Year
The first line of the output file contains the number of the output dates. In the next n lines, there are dates in the Tzolkin calendar format, in the order corresponding to the input dates.
Sample Input
310. zac 00. pop 010. zac 1995
——————————————————————————————————————————————————————
先将时间转化为天数,然后再转化为对应格式的日期
/**************************** *Name:Maya Calendar.c *Tags:ACM water ****************************/#include <stdio.h>#include <string.h>int main(){ char haab[19][10] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"}; char holly[20][10] = {"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"}; int year, num, days, n, i; char dayname[10]; scanf("%d", &n); printf("%d\n", n); while(n--) { days = 0; scanf("%d. %s %d", &num, dayname, &year); /* printf("%d. %s %d\n", num, dayname, year); */ for(i = 0; i < 19; i++) { if(strcmp(dayname, haab[i]) == 0) {days = 20 * i + 365 * year + num;break; } } /* printf("days = %d\n", days); */ year = days / 260; num = days % 13 + 1; i = days % 20; /* printf("i = %d\n", i); */ printf("%d %s %d\n", num, holly[i], year); } return 0;}
- 杭电OJ题 1444 Maya Calendar解题报告
- poj1008"Maya Calendar"解题报告
- JOJ 1071: Maya Calendar 解题报告
- POJ 1008 解题报告 Maya Calendar
- POJ 1008 Maya Calendar [解题报告] Java
- **POJ 1008 Maya Calendar解题报告
- 杭电OJ 1209题clock 解题报告
- 杭电OJ题 1106 排序 解题报告
- 杭电OJ 题 1209 Clock 解题报告
- 杭电OJ题 1236 排名 解题报告
- 杭电OJ题 1391 Number Steps 解题报告
- 杭电OJ题 1347 Grandpa is Famous解题报告
- 杭电OJ题 1361 Parencodings解题报告
- 杭电OJ题 1379 DNA Sorting解题报告
- 杭电OJ题 1390 Binary Numbers解题报告
- 杭电OJ题 1393 Weird Clock解题报告
- 杭电OJ题 Goldbach's Conjecture解题报告
- 杭电OJ题 1408 盐水的故事 解题报告
- 报表The document has no pages
- java 正则表达式 每个构造字符代表什么意思(合集(全))
- 图片缩放 图片加水印 php类
- MIPS CPU寄存器和系统控制协处理器CP0 分析
- 《Imperfect C++》读书笔记
- 杭电OJ题 1444 Maya Calendar解题报告
- Count Color 线段树成段更新 hoj &poj
- Jetty NIO (一)
- mysql unix_socket文件丢失处理 mysql.sock被删除
- NEFU要崛起——第16场
- 在将视频转换成mp4格式的时候,需要做那些预设(presets)?
- android源码浅析--AlertController
- 深入浅出MIPS 二 MIPS的内存映射
- 深入浅出MIPS 一 MIPS概述