pat1100
2016-03-02 19:36
316 查看
题目链接:
pat1100(A)
本题需要注意字符串的处理,尤其是在火星上类似13 ,26这样的数个位的0是不输出的,一定要注意这一点
pat1100(A)
本题需要注意字符串的处理,尤其是在火星上类似13 ,26这样的数个位的0是不输出的,一定要注意这一点
import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; public class Main { static HashMap<String, Integer> map1; static HashMap<String, Integer> map2; static String[] mars1={"tret","jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"}; static String[] mars2={"tret","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"}; public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); ArrayList<String> ar=new ArrayList<String>(); map1=new HashMap<String, Integer>(); map2=new HashMap<String, Integer>(); for(int i=0;i<=12;i++){ map1.put(mars1[i], i); map2.put(mars2[i], i); } int num=0; while(true){ String s=sc.nextLine(); if(s.length()==0) continue; if(s.toCharArray()[0]>='0' &&s.toCharArray()[0]<='9') ar.add(f1(s)); else ar.add(f2(s)); num++; if(num==n) break; } for(int i=0;i<ar.size();i++) System.out.println(ar.get(i)); } public static String f1(String s){ Integer ii=new Integer(s); int a=ii%13; int b=ii/13; String r=""; if(b==0) r+=mars1[a]; else{ if(a==0) r+=mars2[b]; else{ r+=mars2[b]; r+=" "; r+=mars1[a]; } } return r; } public static String f2(String s){ String[] ss=s.split(" "); String r=""; if(ss.length==1){ int t; if(map1.get(s)==null){ t=map2.get(s); r+=t*13; } else{ t=map1.get(s); r+=t; } } else{ int t1; int t2; if(map1.get(ss[0])==null){ t2=map2.get(ss[0]); t1=map1.get(ss[1]); } else{ t2=map2.get(ss[1]); t1=map1.get(ss[0]); } r+=(t2*13+t1); } return r; } }
相关文章推荐
- libdvbpsi源码分析(四)PAT表解析/重建
- PAT配置
- 什么是端口复用动态地址转换(PAT) 介绍配置实例
- MikroTik layer7-protocol
- PAT是如何工作的
- PAT 乙级题:1002. 写出这个数 (20)
- PAT (Advanced Level) Practise 1001-1010
- 数据结构学习与实验指导(一)
- PAT Basic Level 1001-1010解题报告
- 1001. 害死人不偿命的(3n+1)猜想
- 1002. 写出这个数
- 1032. 挖掘机技术哪家强
- 1001. 害死人不偿命的(3n+1)猜想 (PAT basic)
- 1002. 写出这个数(PAT Basic)
- 1004. 成绩排名(PAT Basic)
- 1006. 换个格式输出整数(PAT Basic)
- 1007. 素数对猜想(PAT Basic)
- 1008. 数组元素循环右移问题
- 1009. 说反话(PAT Basic)
- 1011. A+B和C(PAT Basic)