2965:玛雅历

news/2024/11/28 3:45:33/

解题思路

1.分别用数组模拟Haab和Tzolkin
2.把给的输入,转化成离世界开始有多少天
3.计算Tzolkin

AC代码

//计算输入的日子离世界开始的天数 days //年*365 + yue*20 + day	//计算年份 year  = days / 260    days -= year*260
// 计算月份  前面的数字num+1  num= days % 13      holly[days%20] 
#include<stdio.h>
#include<string.h>
int main(){char haab[19][10] = {"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};  //一年365 char holly[20][10]={"imix", "ik", "akbal", "kan","chicchan", "cimi", "manik", "lamat","muluk", "ok", "chuen", "eb", "ben", "ix","mem", "cib", "caban", "eznab", "canac", "ahau"};//一年260天int n;int date,year,days;char month[10];scanf("%d",&n);printf("%d\n",n);for(int i=0;i<n;i++){scanf("%d. %s %d",&date,month,&year); //学习了 int count;for(count=0;count<19;count++) //学习了 if(!strcmp(haab[count],month))break;//计算输入的日子离世界开始的天数 days days = year*365+count*20+date;//计算Tzolkinint tyear = days / 260;days -= tyear*260;int num = days %13;int mon = days %20;printf("%d %s %d\n",num+1,holly[mon],tyear);} return 0;				   
}

总结

1)用数组模拟
2)两个日历的转换,使用中间公共的日子,例如离开始日子多少天
3)格式化输入

scanf("%d. %s %d",&date,month,&year)

4)找字符串出现在第几个

for(count=0;count<19;count++) if(!strcmp(haab[count],month))break;

http://www.ppmy.cn/news/190619.html

相关文章

NOI 1966 玛雅历

package One; /*** 07:玛雅历 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 上周末&#xff0c;M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳&#xff08;玛雅人用于记事的工具&#xff09;中&#xff0c;教授发现玛雅人使用了一个一年有365…

玛雅人的密码

题目描述 玛雅人有一种密码&#xff0c;如果字符串中出现连续的2012四个数字就能解开密码。给一个长度为N的字符串&#xff0c;&#xff08;2<N<13&#xff09;该字符串中只含有0,1,2三种数字&#xff0c;问这个字符串要移位几次才能解开密码&#xff0c;每次只能移动相邻…

玛雅日历 1151

题目描述: 上周末&#xff0c;M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳&#xff08;玛雅人用于记事的工具&#xff09;中&#xff0c;教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月&#xff0c;在开始的18个月&#xff0c;…

玛雅游戏

Mayan puzzle 是最近流行起来的一个游戏。游戏界面是一个7 行5 列的棋盘&#xff0c;上面堆放着一些方块&#xff0c;方块不能悬空堆放&#xff0c;即方块必须放在最下面一行&#xff0c;或者放在其他方块之上。游戏通关是指在规定的步数内消除所有的方块&#xff0c;消除方块的…

POJ玛雅历

关键就是从0开始和从1开始的区别。 #include<iostream> #include<cstring> #include<string> #include<cmath> #include<map> #include<algorithm> using namespace std;map<string,int> MH{{"pop",0}, {"no",…

玛雅历

Description 上周末&#xff0c;M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳&#xff08;玛雅人用于记事的工具&#xff09;中&#xff0c;教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月&#xff0c;在开始的18个月&#xff…

玛雅历 —— C++

上周末&#xff0c;M.A. Ya教授对古老的玛雅有了一个重大发现。从一个古老的节绳&#xff08;玛雅人用于记事的工具&#xff09;中&#xff0c;教授发现玛雅人使用了一个一年有365天的叫做Haab的历法。这个Haab历法拥有19个月&#xff0c;在开始的18个月&#xff0c;一个月有20…

玛雅日历转换

玛雅历 lHaab日历&#xff1a;拥有19个月&#xff0c;在开始的18个月&#xff0c;一个月有20天&#xff0c;月份的名字分别是pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu. 日期用0到19表示&#xff0c;最后一个月…