PKU1008
题名:玛雅历
题意:历法转换 。
代码:
// 1008.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h" #include <iostream>
using namespace std;
class data
{
public:
char day[];
char mon[];
char year[];
}; int main(int argc, char* argv[])
{
int num=;
cin>>num;
char temp[]={};
data *s=new data[num];
for (int i=;i<num;i++)
{
cin>>s[i].day>>s[i].mon>>s[i].year;
}
cout<<num<<endl;
string *sday=new string[];
int tmon=,tday=;
int count=;
int o=,p=;
string ma[]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
while()//计算Tzolkin历表对应一年中的天数
{
o++;
p++;
if(o>)
o=;
if(p>)
p=;
char temp[];
sprintf(temp,"%d ",o);
sday[count]=temp;
sday[count]+=ma[p-];
count++;
if(count==)
break; }
string HaabMonDic[]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
for (int i=;i<num;i++)
{
int day=atoi(s[i].day)+;
string month=s[i].mon;
int imonth=;
string year=s[i].year;
int iyear=atoi(year.c_str());
for (int j=;j<;j++)
{
if(month.compare(HaabMonDic[j])==)
{
imonth=j;
break;
}
}
int allday=iyear*+imonth*+day;
int tyear=allday/;
int tt=allday%;
if(tt==)//如果是最后一天,需要转换
{
tyear--;
tt=;
}
printf("%s %d\n",sday[tt-].c_str(),tyear);
}
delete []sday;
delete []s;
return ; }
总结:想当然,忘记要转换的历法最后一天要特殊处理,第一种历法实际上是有19个月。马虎粗心大意,哎
PKU1008的更多相关文章
随机推荐
- css学习笔记 10
一个竖向导航,假设ul宽度为100px,li不浮动,在各浏览器下都会正常显示,当li左浮动时,在标准浏览器下,li会横向排列,如果第一行的剩余空间的宽度不够下一个li,下一个li自动换到第二行,第二行 ...
- python的字符串内建函数
http://www.ziqiangxuetang.com/python/python-strings.html
- 在iframe父界面获取iframe里面的标签
上一篇里边介绍了在里边利用iframe引入另一个html导航文件,有兴趣的朋友可以看一看 http://www.cnblogs.com/simba-lkj/p/6031662.html 目前遇到一些问 ...
- 关于MySql has gone away问题的解决
everybody 是否导入数据库的时候 导的导的 就会出现这个错误呢,这个错误的原因是你的数据库有点大,数据有点多,导入时间过长与服务器失去连接了,让我们看下咋解决把. 如果用的是xampp 修改m ...
- ASP.NET MVC多表单提交
多表单提交需要写清路径,以便主程序可以找到 方法一:直接写路径, action="~/Home/other1" "~"表示从根目录开始 方法2:@using ...
- 多行溢出隐藏显示省略号功能的JS实现
在页面重构中,经常需要将过多的内容隐藏而显示部分.在单行文本中实现非常简单,但是在多行文本中,则需要根据实际选择不同的方式. 用CSS实现多行溢出隐藏的代码非常简单,但是兼容性也相对较低. displ ...
- 在ubuntu中安装psutil
环境:ubuntu 16.04 LTS + python 2.7/3.5共存 + psutil 4.3.0 1.sudo apt-get install python3-dev # 先把python3 ...
- 高手总结的“恋爱法”学习Linux系统,效果更好。
如果你恋爱了,那你一定非常喜欢她.了解她,知道她喜欢吃什么玩什么,知道她需要什么,在她生气的时候可以哄她开心,一切尽在你的手指中.那你想学好Linux吗?喜欢Linux吗?你懂她吗?你有喜欢Linux ...
- mysql sql语句大全
1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份 ...
- Labview调用Python脚本
Labview程序框图如下: Python脚本如下: #!/usr/bin/env pythonimport sys #Command Line Arguements are stored in li ...