poj1008 模拟

#include"iostream"
#include"cstring"
using namespace std;
char h[19][20]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
char t[20][20] = {"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
int check(char *p){
    //cout<<"check:"<<endl;
    for(int i=0;i<19;i++){
        int flag = 1;
        for(int j=0;p[j];j++){
            if(h[i][j]!=p[j]) flag = 0;
        }
        if(flag) return i;
    }
}
int main(){
    int n;
    cin>>n;
    cout<<n<<endl;
    while(n--){
        string a;
        cin>>a;
        int day = 0;
        char month[20];
        cin>>month;
        int year;
        cin>>year;
        int all_day;
        for(int i=0;i<a.length()-1;i++){
            day=(day*10+a[i]-48);
        }
        //cout<<"day:"<<day<<endl;
        //cout<<check(month)<<endl;
        all_day = day+year*365+check(month)*20;
        //cout<<"all_day:"<<all_day<<endl;

        int _tyear = all_day/260;
        int _tday_n = all_day%260%20;
        int _tday = all_day%260%13+1;//余出来的天数加1
        cout<<_tday<<" "<<t[_tday_n]<<" "<<_tyear<<endl;

    }
}

import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;
public class Main{
	public static void main(String[] args){
		/*Scanner cin = 
				new Scanner(new BufferedInputStream(System.in));
		int a;
		a= cin.nextInt();
		BigInteger c;
		c=cin.nextBigInteger();
		String st;
		st = cin.nextLine();*/
		Map<String,Integer> map = new HashMap<String,Integer>();
		/*pop, no, zip, zotz, tzec, xul, yoxkin, 
		 * mol, chen, yax, zac, ceh, mac, 
		 * kankin, muan, pax, koyab, cumhu,uayet*/
		map.put("pop",0);map.put("no",1);map.put("zip",2);
		map.put("zotz",3);map.put("tzec",4);map.put("xul",5);
		map.put("yoxkin",6);map.put("mol",7);map.put("chen",8);
		map.put("yax",9);map.put("zac",10);map.put("ceh",11);
		map.put("mac",12);map.put("kankin",13);map.put("muan",14);
		map.put("pax",15);map.put("koyab",16);map.put("cumhu",17);
		map.put("uayet",18);
		Map<Integer,String> map1 = new HashMap<Integer,String>();
		/*imix, ik, akbal, kan, chicchan, cimi, manik, lamat, 
		 * muluk, ok, chuen, eb, ben, ix, mem, cib, caban, eznab, 
		 * canac, ahau*/
		map1.put(0, "imix");map1.put(1, "ik");
		map1.put(2, "akbal");map1.put(3, "kan");
		map1.put(4, "chicchan");map1.put(5, "cimi");
		map1.put(6, "manik");map1.put(7, "lamat");
		map1.put(8, "muluk");map1.put(9, "ok");
		map1.put(10, "chuen");map1.put(11, "eb");
		map1.put(12, "ben");map1.put(13, "ix");
		map1.put(14, "mem");map1.put(15, "cib");
		map1.put(16, "caban");map1.put(17, "eznab");
		map1.put(18, "canac");map1.put(19, "ahau");
		Scanner cin = new Scanner(new BufferedInputStream(System.in));
		int n = cin.nextInt();
		System.out.println(n);
		for(int Case = 0;Case<n;Case++){
			int day,month,year;
			int allday;
			day = 0;
			String a = cin.next();
			char[] b = a.substring(0, a.length()-1).toCharArray();
			for(int i=0;i<b.length;i++){
				day = day*10+b[i]-48;
			}
			//System.out.println(day);
			a=cin.next();
			month = (int)map.get(a);
			year = cin.nextInt();
			allday = day+month*20+year*365;
			
			int year_t = allday/260;
			int day_t = allday%260%13+1;
			String day_name = (String)map1.get(allday%260%20);
			System.out.println(day_t+" "+day_name+" "+year_t);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值