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天,每个月的名字分别 ...
随机推荐
- html鼠标事件
jsp鼠标事件汇总 onclick 单击时触发的事件,这个比较常用 ondblclick 双击时触发的事件 onmoucedown 鼠标按下时触发的事件(个人觉得与onclick异曲同工) onmou ...
- Size Classes with Xcode 6:为所有的尺寸准备一个Storyboard
我最喜欢的Xcode6的特性是新的size classes 概念,有了它,我们解决了“我如何能够快速的为那么多不同尺寸屏幕以及方向的设备写app”.他们也让在一个storyboard中创建一个通用的a ...
- 【171】IDL读取HDF文件
;+ ;:Description: ; Describe the procedure. ; ; Author: DYQ 2009-7-19; ; ;- PRO TEST_READHDF COMPILE ...
- ssh验证和端口转发
ssh 服务登录验证 ssh 服务登录验证方式: 用户/ 口令 基于密钥 基于用户和口令登录验证 客户端发起ssh请求,服务器会把自己的公钥发送给用户 用户会根据服务器发来的公钥对密码进行加密 加密后 ...
- PCB 帆软FineReport安装,布署,配置
公司使用帆软FineReport做为报表平台工具也有一年多时间,而FineReport报表平台与Tomcat Web应用服务是站队在java阵营里,因为相信拥抱微软;.net未来发展会越来越好,所以对 ...
- bzoj 1034: [ZJOI2008]泡泡堂BNB【贪心】
是贪心 先把两个数组排序,然后贪心的选让a数组占优的(如果没有就算输),这是最大值,最小值是2n-贪心选b数组占优 #include<iostream> #include<cstdi ...
- JS自定义右键菜单案例
要求:点击页面鼠标右键,阻止默认右键菜单的弹出,并弹出自定义右键菜单. 效果示例: 参考代码: <!DOCTYPE html> <html lang="zh-CN" ...
- idea下载安装指南
官网地址 https://www.jetbrains.com/idea/ 点击download 有收费版本和社区免费版.我下载了免费的. 有zip和exe两个版本.我先下载了zip绿色版,发现用不了. ...
- c语言 error C4996: 'strupr': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name
问题: 在使用visual studio 2013,进行调试执行代码时,出现如下错误: error C4996: 'strupr': The POSIX name for this item is d ...
- mydatepicker97 日历控件
官方教程: http://www.my97.net/