1. Maya历法

【问题描述】

在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现。从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月。前18个月每月有20天,月份名字为:pop、no、zip、zotz、tzec、xul、yoxkin、mol、chen、yax、zac、ceh、mac、kankin、muan、pax、koyab、cumhu。每月的天数使用数字来表示,从0~19,而不是用名字。Haab的最后一个月叫做uayet,有5天,表示为0、1、2、3、4。玛雅人认为这个月是不吉利的,法院不开庭,贸易停止了,人们甚至停止清扫地板。

出于宗教的目的,Maya人使用另外一套历法,叫做Tzolkin(冬青年)。一年被分为13个期间,每个期间20天。每天被表示为由数字和日期名表示的数对。使用20个名字:imix、ik、akbal、kan、chicchan、cimi、manik、lamat、muluk、ok、chuen、eb、ben、ix、mem、cib、caban、eznab、canac、ahau,以及13个数字,双循环使用。

请注意,每一天都有一个明确的描述。例如,在年初的日子被描述如下:

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, 在下一个期间开始为 8 imix, 9 ik, 10 akbal . . .

年份(包含Haab和Tzolkin)用数字0、1、…来表示,数字0是世界的开始。因此,第一天表示为:

Haab: 0. pop 0

Tzolkin: 1 imix 0

请帮M.A.Ya教授写一个程序,将Haab日历转换为Tzolkin日历。

【输入形式】

在Haab中日期用以下形式表示:

NumberOfTheDay. Month Year

输入文件的第一行包含文件中输入日期的数目。接下来的n行包含Haab日历格式的n个日期,年份小于5000。

【输出形式】

Tzolkin日期用一下格式:

Number NameOfTheDay Year

输出包括n行,按照与输入日期对应的顺序,输出tzolkin日历格式日期。

【样例输入】

3
10.zac 0
0.pop 0
10.zac 1995

【样例输出】

3 chuen 0
1 imix 0
9 cimi 2801

#include<iostream>
#include<string>
using namespace std;
void turn(int x,string a,int y){//转换函数int z=0,days,month,year,date;string c;if(a=="pop")z=1;else if(a=="no")z=2;else if(a=="zip")z=3;   else if(a=="zotz")z=4;else if(a=="tzec")z=5;else if(a=="xul")z=6;else if(a=="yoxkin")z=7;else if(a=="mol")z=8; else if(a=="chen")z=9;else if(a=="yax")z=10;else if(a=="zac")z=11;else if(a=="ceh")z=12;else if(a=="macc")z=13;else if(a=="kankin")z=14;else if(a=="muan")z=15;else if(a=="pax")z=16;else if(a=="koyab")z=17;else if(a=="cumhu")z=18;else if(a=="uayet")z=19;days=x+1+(z-1)*20+y*365;//算出是世界开始的第几天date=days%13;if(date==0) date+=13; month=days%20;year=days/260;//260天为1年switch(month){//将月份期间转化为字符串case 1:c="imix";break;case 2:c="ik";break;case 3:c="akbal";break;case 4:c="kan";break;case 5:c="chicchan";break;case 6:c="cimi";break; case 7:c="manik";break;case 8:c="lamat";break;case 9:c="muluk";break;  case 10:c="ok";break;case 11:c="chuen";break;case 12:c="eb";break;case 13:c="ben";break;case 14:c="ix";break;    case 15:c="mem";break;case 16:c="cib";break;case 17:c="caban";break;case 18:c="eznab";break;case 19:c="canac";break;case 0:c="ahau";break;        } cout<<date<<' '<<c<<' '<<year<<endl;
}
int main(){int n;cin>>n;int num[n][2];string mon[n];char point;for(int i=0;i<n;i++)cin>>num[i][0]>>point>>mon[i]>>num[i][1];for(int i=0;i<n;i++)turn(num[i][0],mon[i],num[i][1]);return 0;
}

CG12 Maya历法相关推荐

  1. 3.10 Maya历法

    [问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...

  2. 【程序设计训练】3-10 Maya历法

    问题描述 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有20 ...

  3. 湖南大学21夏训练三10. Maya历法

    [问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...

  4. ccf练习-10. Maya历法

    [问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...

  5. HNU软件能力实训3-10. Maya历法

    写在前面 你好!欢迎来到我的博客,希望我的思路能够帮到你! 问题描述 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以36 ...

  6. 10. Maya历法

    找了老半天错误.求出总天数之后,因为haab历的日是从0开始,所以总天数除以20之后就直接是tzolkin历数组的下标.但是按照下面这种写法的话,如果总天数除以20等于0,再减一,就会越界.所以错穿了 ...

  7. hnu 暑期实训之Maya历法

    文章目录 题目 思路 AC代码 收获 题目 思路 思路就是模拟跟着走就可以了.注意在取模运算的时候,如果a mod b当a==b的时候得到的结果是0,但是这题显然我们并不想得到0,所以要判断一下.既然 ...

  8. 关于maya与max互导FBX出现错误的解决方案。

    因为自己实在是不愿意一次又一次把时间浪费在导入导出的问题上.每一次都是多试几次才成功,也没有真正去测试这个东西.但是今天实在是碰到了错误中的极品了.最后还是决定写下来..算是给自己做笔记吧..大家如果 ...

  9. Maya 2022中的硬表面建模技术学习视频教程

    Maya 2022中的硬表面建模 信息: 使用正确的拓扑和边流在Maya中建模硬曲面对象. 你会学到什么 硬质表面工具和技术 细分工作流程 边缘流动控制 正确拓扑 材料设置 Studio Lightn ...

最新文章

  1. iOS 一些基础的方法
  2. 请求体的方式传参_Angularjs中$http以post请求通过消息体传递参数的实现方法
  3. (转贴)给Repeater、Datalist和Datagrid增加自动编号列
  4. 小学期学习记录(一)
  5. 菜鸟网络技术专家:技术架构的战略和战术原则
  6. 信息技术上册教案了解计算机,信息技术上册全册教案
  7. 「Python基础知识」Python中的封装有什么作用
  8. 收藏 | YOLOX模型部署、优化及训练全过程
  9. 08.28 JavaScript 边界 选择修饰符 模式单元 修饰符 正则的使用
  10. 技工学校计算机类论文,技工学校计算机教学论文
  11. 天涯明月刀怎么导入php捏脸数据,天涯明月刀捏脸数据怎么导入 天涯明月刀捏脸数据在哪...
  12. 计算机三种不同类型的用户账户,计算机应用基础(第2版)教学课件作者陈绥阳第二章.ppt...
  13. 设计模式13_享元模式
  14. 我的世界java营火如何合成_我的世界:营火在1.15版本中得到加强?它的六个用途别忘了!...
  15. win10+android+手机驱动,win10系统电脑没有手机驱动的解决方法
  16. 如何使用python调用ads接口(版图仿真)
  17. 【笔记】TAOCP Vol4 - Combination
  18. 机器人耗时 0.38 秒还原魔方;微软推出 Windows ML ,将机器学习带入桌面
  19. html5 spice 虚拟桌面,开源桌面虚拟化spice体验
  20. 手机无线连接到电脑共享文件

热门文章

  1. 基于Servlet4的文件上传下载功能,原生态。
  2. CSS - 移动端布局(二)移动端适配
  3. 单例模式(C++实现懒汉式)
  4. Hololens 2拍摄视频并同步记录眼镜参数的C#脚本
  5. TOM企业电子邮箱注册,你的域名邮箱设置电子名片了吗?
  6. 四川音乐学院计算机音乐创作,大学生计算机音乐创作类决赛揭晓 浙音6件作品均获奖...
  7. matlab打开dat形式文件_matlab的各种数据读取(txtdatmat等格式)文件打开关闭
  8. vue 本地背景图片铺满整个屏幕
  9. 突破网站对Selenium的屏蔽
  10. Excel如何将表转换为另一种格式的表(表1转换为表2),表转换的绿色工具,支持一行变多行,多行变一行,行变列,列边行等等