北大poj- 1008
| Time Limit: 1000MS | Memory Limit: 10000K | |
| Total Submissions: 80956 | Accepted: 24892 |
Description
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
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
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
3
10. zac 0
0. pop 0
10. zac 1995
Sample Output
3
3 chuen 0
1 imix 0
9 cimi 2801 分析:题目很简单,做简单hash表处理就可以0ms了。
#include <stdio.h>
#include <stdlib.h> #define INPUT_BUF_SIZE 10000 typedef struct
{
int day;
int month;
int year;
}Haab; typedef struct
{
int haabNum;
Haab haab[INPUT_BUF_SIZE];
}HaabYears; HaabYears g_haabYears; int g_haabHash[]; char g_tzolkinDay[][] =
{
"imix\0", "ik\0", "akbal\0", "kan\0", "chicchan\0",
"cimi\0", "manik\0", "lamat\0", "muluk\0", "ok\0",
"chuen\0", "eb\0", "ben\0", "ix\0", "mem\0",
"cib\0", "caban\0", "eznab\0", "canac\0", "ahau\0"
}; void InitHash(int *haabHash)
{
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
haabHash[] = ;
} void GetHaab(HaabYears *years)
{
int i = ;
char tmp;
int hashValue;
scanf("%d", &years->haabNum); for(i = ; i < years->haabNum; i++)
{
hashValue = ;
scanf("%d", &years->haab[i].day);
getchar();
getchar();
while((tmp = getchar()) >= 'a')
{
hashValue += tmp;
}
years->haab[i].month = g_haabHash[hashValue];
scanf("%d", &years->haab[i].year);
getchar();
}
} void printTzolkin(HaabYears *years)
{
int i;
long totalDay;
int year, leftDay, num, day;
printf("%d\n", years->haabNum);
for(i = ; i < years->haabNum; i++)
{
totalDay = years->haab[i].year * + years->haab[i].month * + years->haab[i].day;
year = (int)totalDay/;
leftDay = totalDay%;
num = leftDay% + ;
day = leftDay%;
printf("%d %s %d\n", num, g_tzolkinDay[day], year);
}
} int main()
{
InitHash(g_haabHash);
GetHaab(&g_haabYears);
printTzolkin(&g_haabYears);
return ;
}
北大poj- 1008的更多相关文章
- 北大POJ题库使用指南
原文地址:北大POJ题库使用指南 北大ACM题分类主流算法: 1.搜索 //回溯 2.DP(动态规划)//记忆化搜索 3.贪心 4.图论 //最短路径.最小生成树.网络流 5.数论 //组合数学(排列 ...
- poj 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- POJ 1008 Maya Calendar
链接:http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Subm ...
- [POJ 1008] Maya Calendar C++解题
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62297 Accepted: 192 ...
- [POJ] #1008# Maya Calendar : 字符处理/同余问题
一. 题目 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 74085 Accepted: 2 ...
- poj 1008
#include<iostream>#include<string> using namespace std;string hname[19] = { "pop&qu ...
- POJ 1008 简单模拟题
e.... 虽然这是一道灰常简单的模拟题.但是米做的时候没有读懂第二个日历的计时方法.然后捏.敲完之后华丽的WA了进一个点.坑点就在一年的最后一天你是该输出本年的.e ...但是我好想并没有..看di ...
- POJ 1008 Maya Calendar / UVA 300【日期转换/常量数组】
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 82431 Accepted: 25319 Descr ...
- Maya Calendar POJ - 1008 (模拟)
简述 注意260天的情况,这个地方还是0年 代码 #include <iostream> #include <map> #include <sstream> usi ...
- 【Java】深深跪了,OJ题目Java与C运行效率对比(附带清华北大OJ内存计算的对比)
看了园友的评论之后,我也好奇清橙OJ是怎么计算内存占用的.重新测试的情况附在原文后边. -------------------------------------- 这是切割线 ----------- ...
随机推荐
- [CQOI2014]数三角形
[CQOI2014]数三角形 给定\(n\times m\)的网格,求三个点在其格点上的三角形个数,1<=m,n<=1000. 解 法一:直接 显然为组合计数问题,关键在于划分问题,注意到 ...
- LeetCode--027--移除元素(java)
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- unity项目build成webgl时选择生成目录(解决方法)
在unity里点击File>>Build Settings...>>勾选你要生成的Scenes>>选择webgl>>后面Development Buil ...
- 8.3 GOF设计模式二: 适配器模式 Adapter
GOF设计模式二: 适配器模式 Adapter 为中国市场生产的电器,到了美国,需要有一个转接器才能使用墙上的插座,这个转接 器的功能.原理?复习单实例模式 SingleTon的三个关键点 ...
- PAT 1128 N Queens Puzzle
1128 N Queens Puzzle (20 分) The "eight queens puzzle" is the problem of placing eight ch ...
- Hadoop 2.7.4 HDFS+YRAN HA删除datanode和nodemanager
当前集群 主机名称 IP地址 角色 统一安装目录 统一安装用户 sht-sgmhadoopnn-01 172.16.101.55 namenode,resourcemanager /usr/local ...
- java Arrays.asList方法注意事项
1. 简介 Arrays.asList()方法可以将数组转化为长度固定的列表. 该方法强调了列表的长度是固定的,因此不能使用list的add和remove方法修改list长度. 2. 示例 impor ...
- ORACLE相关函数使用总结
1. 2018年12月12日 12时12分 这种时间格式怎么转成2018-12-12 12:12 解决: select regexp_replace(regexp_replace('2009年6月 ...
- 解决Mac应用程序软件不出现在Launchpad里面的方法
新装了几个软件,可是打开Lauchpad之后却在里面找不到,真是烦人!然后尝试了以下方法: 1.重启电脑,没用: 2.尝试打开“应用程序(英文名称:Applications)”并找到安装的软件,然后直 ...
- Java 中的按值传递
Java 中只有按值传递 "Java 中只有按值传递",初看到这几个字有点不敢相信,无数次通过函数改变过对象,无数次跟同事说 Java 在传对象的时候是按引用传递.后来细细想想,之 ...