Maya Calendar POJ - 1008 (模拟)
简述
注意260天的情况,这个地方还是0年
代码
#include <iostream>
#include <map>
#include <sstream>
using namespace std;
map<string,int> bk;
map<int,string> bk1;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
bk["pop"]=1;bk["no"]=2;bk["zip"]=3;bk["zotz"]=4;
bk["tzec"]=5;bk["xul"]=6;bk["yoxkin"]=7;bk["mol"]=8;
bk["chen"]=9;bk["yax"]=10;bk["zac"]=11;bk["ceh"]=12;
bk["mac"]=13;bk["kankin"]=14;bk["muan"]=15;bk["pax"]=16;
bk["koyab"]=17;bk["cumhu"]=18;bk["uayet"]=19;
bk1[1]="imix";bk1[2]="ik";bk1[3]="akbal";bk1[4]="kan";
bk1[5]="chicchan";bk1[6]="cimi";bk1[7]="manik";bk1[8]="lamat";
bk1[9]="muluk";bk1[10]="ok";bk1[11]="chuen";bk1[12]="eb";bk1[13]="ben";
bk1[14]="ix";bk1[15]="mem";bk1[16]="cib";bk1[17]="caban";bk1[18]="eznab";
bk1[19]="canac";bk1[20]="ahau";
int n;
cin>>n;
cout<<n<<"\n";
cin.get();
while(n--)
{
string a;
getline(cin,a);
string t="";
for(int i=0;i<a.size();i++)
if(isdigit(a[i]))
t+=a[i];
else
break;
int l=t.size();
l+=2;
stringstream s;
s<<t;
int day;
s>>day;
day+=1;
t="";
for(int i=l;;i++)
if(isalpha(a[i]))
t+=a[i];
else
break;
l+=t.size();
//cout<<t<<"\n";
int month=bk[t];
t="";
l+=1;
for(int i=l;i<a.size();i++)
if(isdigit(a[i]))
t+=a[i];
stringstream s1;
s1<<t;
int year;
s1>>year;
//cout<<year<<" "<<month<<" "<<day<<"\n";
int sum=year*365+(month-1)*20+day;
int ty;
if(sum==0)
ty=0;
else
ty=(sum-1)/260;
int yu=(sum-1)%260+1;
int td=(yu-1)%13+1;
int st=(yu-1)%20+1;
//cout<<st<<"\n";
cout<<td<<" "<<bk1[st]<<" "<<ty<<"\n";
}
}
Maya Calendar POJ - 1008 (模拟)的更多相关文章
- 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 OpenJudge 百练 Bailian 1008 Maya Calendar
1.Link: http://poj.org/problem?id=1008 http://bailian.openjudge.cn/practice/1008/ 2.content: Maya Ca ...
- [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 Maya Calendar / UVA 300【日期转换/常量数组】
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 82431 Accepted: 25319 Descr ...
- Poj Maya Calendar
http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissio ...
- Maya Calendar 分类: POJ 2015-06-11 21:44 12人阅读 评论(0) 收藏
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70016 Accepted: 21547 D ...
- POJ1008 Maya Calendar
题目来源:http://poj.org/problem?id=1008 题目大意: Maya人认为一年有365天,但他们有两种日历.一种叫做Haab,有19个月.前18个月每月20天,每个月的名字分别 ...
随机推荐
- Robot Framework 初学者上手资料
首先要声明一下这是从http://www.cnblogs.com/yufeihlf/p/5949984.html拷贝的. 在这里只是自己的一个笔记,方便日后添加.修改内容. 总结下Robot Fram ...
- 并不对劲的spoj1811
题意是求两个字符串的lcs,两个串都只包含小写字母. 本题既可以用后缀自动机,又可以用后缀数组. 对于后缀自动机,就是一道模板题,直接对于一个字符串建后缀自动机再用另一个串查询就行. 对于后缀数组,其 ...
- 移动端html touch事件
诸如智能手机和平板电脑一类的移动设备通常会有一(capacitive touch-sensitivescreen),以捕捉用户的手指所做的交互.随着移动网络的发展,其能够支持越来越复杂的应用,web开 ...
- vue学习笔记(1)
1.检测变化 <ul> <li v-for="item in list">{{item}}</li> </ul> <scrip ...
- 洛谷P3371 【模板】单源最短路径(弱化版)(SPFA解法)
题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779. 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输 ...
- 设计模式学习之代理模式(Proxy)
一.代理模式的初衷 不想让客户端直接访问具体实现接口,客户端不应该直接访问具体实现,一般会涉及到以下四个对象 业务接口:定义客户端访问的接口,是实现类和代理类都需要实现的 实现类:实现了业务接口,真正 ...
- 数据库学习:for xml path
一.开发环境 数据库:SQLServer2012 二.语法简介 for xml path它以xml形式展示查询的结果集 三.语法介绍 现在数据库中有一张表 1.基本语法 select * from B ...
- JavaScript(七)数组
Array类型 1.创建数组 字面量 var arr = [];//不要在低版本的浏览其中创建字面量的时候最后 //一个item后面加 逗号 低版本会 再新建一个空的item 构造函数 var arr ...
- 【C++】智能指针简述(二):auto_ptr
首先,我要声明auto_ptr是一个坑!auto_ptr是一个坑!auto_ptr是一个坑!重要的事情说三遍!!! 通过上文,我们知道智能指针通过对象管理指针,在构造对象时完成资源的分配及初始化,在析 ...
- GCC编译连接c++代码的四个阶段(Four stages of GCC compilation of C++ code)
There are four stages for GCC to compile c/c++ applications: Preprocessing, Compilation proper, Asse ...