CG12 Maya历法
- 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历法相关推荐
- 3.10 Maya历法
[问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...
- 【程序设计训练】3-10 Maya历法
问题描述 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有20 ...
- 湖南大学21夏训练三10. Maya历法
[问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...
- ccf练习-10. Maya历法
[问题描述] 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月.前18个月每月有 ...
- HNU软件能力实训3-10. Maya历法
写在前面 你好!欢迎来到我的博客,希望我的思路能够帮到你! 问题描述 在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现.从一个古老的令人棘手的信息中,教授发现Maya文明以36 ...
- 10. Maya历法
找了老半天错误.求出总天数之后,因为haab历的日是从0开始,所以总天数除以20之后就直接是tzolkin历数组的下标.但是按照下面这种写法的话,如果总天数除以20等于0,再减一,就会越界.所以错穿了 ...
- hnu 暑期实训之Maya历法
文章目录 题目 思路 AC代码 收获 题目 思路 思路就是模拟跟着走就可以了.注意在取模运算的时候,如果a mod b当a==b的时候得到的结果是0,但是这题显然我们并不想得到0,所以要判断一下.既然 ...
- 关于maya与max互导FBX出现错误的解决方案。
因为自己实在是不愿意一次又一次把时间浪费在导入导出的问题上.每一次都是多试几次才成功,也没有真正去测试这个东西.但是今天实在是碰到了错误中的极品了.最后还是决定写下来..算是给自己做笔记吧..大家如果 ...
- Maya 2022中的硬表面建模技术学习视频教程
Maya 2022中的硬表面建模 信息: 使用正确的拓扑和边流在Maya中建模硬曲面对象. 你会学到什么 硬质表面工具和技术 细分工作流程 边缘流动控制 正确拓扑 材料设置 Studio Lightn ...
最新文章
- iOS 一些基础的方法
- 请求体的方式传参_Angularjs中$http以post请求通过消息体传递参数的实现方法
- (转贴)给Repeater、Datalist和Datagrid增加自动编号列
- 小学期学习记录(一)
- 菜鸟网络技术专家:技术架构的战略和战术原则
- 信息技术上册教案了解计算机,信息技术上册全册教案
- 「Python基础知识」Python中的封装有什么作用
- 收藏 | YOLOX模型部署、优化及训练全过程
- 08.28 JavaScript 边界 选择修饰符 模式单元 修饰符 正则的使用
- 技工学校计算机类论文,技工学校计算机教学论文
- 天涯明月刀怎么导入php捏脸数据,天涯明月刀捏脸数据怎么导入 天涯明月刀捏脸数据在哪...
- 计算机三种不同类型的用户账户,计算机应用基础(第2版)教学课件作者陈绥阳第二章.ppt...
- 设计模式13_享元模式
- 我的世界java营火如何合成_我的世界:营火在1.15版本中得到加强?它的六个用途别忘了!...
- win10+android+手机驱动,win10系统电脑没有手机驱动的解决方法
- 如何使用python调用ads接口(版图仿真)
- 【笔记】TAOCP Vol4 - Combination
- 机器人耗时 0.38 秒还原魔方;微软推出 Windows ML ,将机器学习带入桌面
- html5 spice 虚拟桌面,开源桌面虚拟化spice体验
- 手机无线连接到电脑共享文件
热门文章
- 基于Servlet4的文件上传下载功能,原生态。
- CSS - 移动端布局(二)移动端适配
- 单例模式(C++实现懒汉式)
- Hololens 2拍摄视频并同步记录眼镜参数的C#脚本
- TOM企业电子邮箱注册,你的域名邮箱设置电子名片了吗?
- 四川音乐学院计算机音乐创作,大学生计算机音乐创作类决赛揭晓 浙音6件作品均获奖...
- matlab打开dat形式文件_matlab的各种数据读取(txtdatmat等格式)文件打开关闭
- vue 本地背景图片铺满整个屏幕
- 突破网站对Selenium的屏蔽
- Excel如何将表转换为另一种格式的表(表1转换为表2),表转换的绿色工具,支持一行变多行,多行变一行,行变列,列边行等等