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的更多相关文章
随机推荐
- js 键盘记录实现(兼容FireFox和IE)(转)
主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydo ...
- JavaWeb前端:CSS
CSS 主要是要熟悉的掌握选择器 Div 的盒模型: 整个网页被切割成一个一个盒子,盒子可以套盒子,每个盒子通过以下几个主要属性来控制显示位置: 边框 Border-top, Border-botto ...
- I:trainage Ditches
总时间限制: 1000ms 内存限制: 65536kB描述Every time it rains on Farmer John's fields, a pond forms over Bessie's ...
- 精析AngularJS(一)
AngularJS简介 四个核心思想:依赖注入.模块化.双向绑定.语义化标签. AngularJS 前端 MVC 的设计与搭建 MVC(Model View Controller)模型(model)- ...
- LookUpEdit手动编辑怎么设置呢?
近来遇到一问题,用LookUpEdit控件时,无法进行手动删除上面的数据,为此查找资料进行修改: 解决方法如下:LookUpEdit的属性-->Properties->TextEditSt ...
- 如何更换centos6源
1.wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 2.根据教程:http://mirrors.163.com/.help/centos ...
- 测试键盘的控制字符对应的ASCII码值
#include <stdio.h>#include <termio.h> //终端操作头文件 char getch(void){ struct termio ...
- String字符串类课后作业
String动手动脑和课后作业 请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 结果: 总结:在Java中,内容相同的字串常量(&quo ...
- spark 1.5.2配置记录
1)slaves # A Spark Worker will be started on each of the machines listed below. dataNode 2)spark-env ...
- PE注入
// PE注入.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include &l ...