POJ1008

摘要:水,不過奇怪用atoi()怎麼要包含algorithm,明天去看看書

#include <iostream>
#include <map>
#include <string>
#include <algorithm>
using namespace std;

map<string, int> h_month;
map<int, string> t_day;

const int h_year_days = 365;
const int t_year_days = 260;

int main()
{
    string h_month_array[] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
    string t_day_array[] = {"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
    for(int i=0; i<sizeof(h_month_array)/sizeof(h_month_array[0]); i++){
        h_month[h_month_array[i]] = i;
    }        
    for(int i=0; i<sizeof(t_day_array)/sizeof(t_day_array[0]); i++){
        t_day[i] = t_day_array[i];
    }
    
    int n;
    cin >> n;
    cout << n << endl;
    while( n > 0 ){
        string day, month;
        int year;
        cin >> day >> month >> year;
        int total = year * h_year_days + atoi((day.substr(0, day.length()-1)).c_str()) + 20 * h_month[month];
        
        int t_year = 0;
        int t_day_index = 0;
        string t_day_name;
        
        t_year = total / t_year_days;
        total = total - t_year * t_year_days;
        t_day_name = t_day[total % 20];    
        t_day_index = total % 13 + 1;
        
        cout << t_day_index << " " << t_day_name << " "    << t_year << endl;
        n--;
    }        
    
    return 0;
}

發佈了63 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章