日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

PKU ACM 1008 玛雅历

發(fā)布時(shí)間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PKU ACM 1008 玛雅历 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:瑪雅歷

Description

上周末,M.A. Ya教授對(duì)古老的瑪雅有了一個(gè)重大發(fā)現(xiàn)。從一個(gè)古老的節(jié)繩(瑪雅人用于記事的工具)中,教授發(fā)現(xiàn)瑪雅人使用了一個(gè)一年有365天的叫做Haab的歷法。這個(gè)Haab歷法擁有19個(gè)月,在開始的18個(gè)月,一個(gè)月有20天,月份的名字分別是pop, no, zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu。這些月份中的日期用0到19表示。Haab歷的最后一個(gè)月叫做uayet,它只有5天,用0到4表示。瑪雅人認(rèn)為這個(gè)日期最少的月份是不吉利的,在這個(gè)月法庭不開庭,人們不從事交易,甚至沒有人打掃屋中的地板。

因?yàn)樽诮痰脑?#xff0c;瑪雅人還使用了另一個(gè)歷法,在這個(gè)歷法中年被稱為Tzolkin(holly年),一年被分成13個(gè)不同的時(shí)期,每個(gè)時(shí)期有20天,每一天用一個(gè)數(shù)字和一個(gè)單詞相組合的形式來表示。使用的數(shù)字是1~13,使用的單詞共有20個(gè),它們分別是:imix, ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, eb, ben, ix, mem, cib, caban, eznab, canac, ahau。注意:年中的每一天都有著明確唯一的描述,比如,在一年的開始,日期如下描述: 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 ……也就是說數(shù)字和單詞各自獨(dú)立循環(huán)使用。

Haab歷和Tzolkin歷中的年都用數(shù)字0,1,……表示,數(shù)字0表示世界的開始。所以第一天被表示成:
Haab: 0. pop 0
Tzolkin: 1 imix 0
請(qǐng)幫助M.A. Ya教授寫一個(gè)程序可以把Haab歷轉(zhuǎn)化成Tzolkin歷。


Input

Haab歷中的數(shù)據(jù)由如下的方式表示:
日期. 月份 年數(shù)

輸入中的第一行表示要轉(zhuǎn)化的Haab歷日期的數(shù)據(jù)量。下面的每一行表示一個(gè)日期,年數(shù)小于5000。

Output

Tzolkin歷中的數(shù)據(jù)由如下的方式表示:
天數(shù)字 天名稱 年數(shù)

第一行表示輸出的日期數(shù)量。下面的每一行表示一個(gè)輸入數(shù)據(jù)中對(duì)應(yīng)的Tzolkin歷中的日期。


Sample Input

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


Sample Output

3 3 chuen 0 1 imix 0 9 cimi 2801

主要思路:

1. 數(shù)據(jù)輸入時(shí)直接計(jì)算出輸入日期與元年元月元日的絕對(duì)日期(距離);

2. 通過取模操作就可以計(jì)算出 Tzolkin歷中的日期;

3. 注意Tzolkin歷中周期由1開始,因此取模運(yùn)輸后別忘了加 1


源代碼:

#include <iostream> #include <string> using namespace std;string Month[] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"}; string Cycle[] = {"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};int main() {int size;cin >> size;int* AbsData = new int[size];float d = 0;string sm = "";int m = 0;int y = 0;for(int i = 0; i < size; i++){cin >> d >> sm >> y;for(m = 1; m <= 18; m++){if(sm == Month[m-1])break;}AbsData[i] = 365 * y + 20 * (m - 1) + (d);//cout << AbsData[i] << endl;}int day = 0;cout << size << endl;for(int j = 0; j < size; j++){y = AbsData[j] / 260;m = AbsData[j] % 13 + 1;day = AbsData[j] % 20;cout << m << " " << Cycle[day] << " " << y << endl;}return 0; }


總結(jié)

以上是生活随笔為你收集整理的PKU ACM 1008 玛雅历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。