北大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是怎么计算内存占用的.重新测试的情况附在原文后边. -------------------------------------- 这是切割线 ----------- ...
随机推荐
- 百度ueditor上传图片时如何设置默认宽高度
百度ueditor上传图片时如何设置默认宽高度 一.总结 一句话总结:直接css或者js里面限制一下就好,可以用html全局限制一下图片的最大高度 直接css或者js里面限制一下就好,可以用html全 ...
- Hadoop InputFormat 输入文件分片
1. Mapper 与 Reducer 数量 对于一个默认的MapReduce Job 来说,map任务的数量等于输入文件被划分成的分块数,这个取决于输入文件的大小以及文件块的大小(如果此文件在 HD ...
- Confluence 6 升级以后
7. 拷贝你的数据库驱动 如果你现在使用的是 Oracle 或者 MySQL 数据库的话,你讲要重新拷贝 jdbc 驱动的 jar 文件到你已经存在的 Confluence 安装目录中 conflue ...
- CF #552(div3)G 最小lcm
题目链接:http://codeforces.com/contest/1154/problem/G 题意:lcm是最小公倍数,本题就是给你一个数组(可能会重复),要求你判断出那两个数的最小公倍数最小, ...
- setting.xml
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://mave ...
- sql获取当前月份的前一月,当前天的前一天,当前年的前一年
当前年份加减: SELECT CONVERT(varchar(12),DATEADD(year,1,GETDATE()),23) as year SELECT CONVERT(varchar(12), ...
- YOLT:将YOLO用于卫星图像目标检测
之前作者用滑动窗口和HOG来进行船体监测,在开放水域和港湾取得了不错的成绩,但是对于不一致的复杂背景,这个方法的性能会下降.为了解决这个缺点,作者使用YOLO作为物体检测的流水线,这个方法相比于HOG ...
- asp.netmvc部署到linux(centos)
介绍将asp.netmvc项目部署到centos系统. 开发工具:win10+vs2017+.NetFramework4.6.1+Vmware14+centos 1.安装Jexus 这里使用独立版(专 ...
- week6
面向对象编程 class类(新式类:class xx(obj):,经典类 class xx:) 构造函数 __init__(self,ret1,ret2...) 在实例化时做一些类的初始化工作 析构函 ...
- LJN数理化生信奥队自传
LJN数理化生信奥队, 原名“LJN信奥队”,简称“ljnoit”. 联系方式: QQ:3046036317 QQ群:555088375 (Offical群) 701124785 (Vip群) 邮箱: ...