北大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是怎么计算内存占用的.重新测试的情况附在原文后边. -------------------------------------- 这是切割线 ----------- ...
随机推荐
- printf打印输出
int PrintVal = 9; /*按整型输出,默认右对齐*/ printf("%d\n",PrintVal); /*按整型输出,补齐4位的宽度,补齐位为空格 ...
- hive参数配置详细
hive.exec.mode.local.auto 决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行) true hive.exec.mode.local.auto.i ...
- Phonics 自然拼读法 g, o, u, l, f, b Teacher:Lamb
课上内容(Lesson) Part I Warm-up & Video Food Fashion Fun 19 sets http://www.unsv.com/material/ ...
- 配置ubuntu
2. 安装配置软件 创建服务器成功后,点击服务器列表页的Ubuntu轻量应用服务器卡片的远程连接按钮 连接成功后开始安装软件. VNC的安装与配置 安装之前先输入 apt-get update 获取最 ...
- 安装和启动json-server
安装json-server JSON-Server 是一个 Node 模块,运行 Express 服务器,你可以指定一个 json 文件作为 api 的数据源 npm i -g json-server ...
- mysql、nginx、php-fpm的启动与关闭
mysql 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 sa ...
- sql获取当前月份的前一月,当前天的前一天,当前年的前一年
当前年份加减: SELECT CONVERT(varchar(12),DATEADD(year,1,GETDATE()),23) as year SELECT CONVERT(varchar(12), ...
- python 中的 yield 究竟为何物?生成器和迭代器的区别?
当你突然看到别人的代码中出现了一个好像见过但又没用过的关键词 比如 yield ,你是否会觉得这段代码真是高大上呢? 或许只有我这种小白才会这样子觉得,就在刚刚,我就看见了别人的代码中的yield,觉 ...
- 关于微信小程序获取当前位置信息
小程序开发---获取当前位置信息 一.获取用户地理位置信息 1.配置app.json文件 { "pages": ["pages/index/index"], & ...
- vue-文字块收缩与展开功能
在设计图中要求的效果为: 文字限制超过9行即隐藏,并显示“展开”按钮,点击按钮进行切换,控制文本全部展示和部分展示 在原本的实现过程中,使用了红框内的判断方式: 页面代码: 样式则规定嵌套元素给一个死 ...