zoukankan      html  css  js  c++  java
  • 洛谷 P1603 斯诺登的密码(JAVA)

    洛谷 P1603 斯诺登的密码(JAVA)

    package Algorithm;
    
    import java.util.*;
    
    public class Department1 {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            String str = scan.nextLine();
            String[] li = str.split(" ");
            HashMap<String, Integer> hm = new HashMap<>();
            initialize(hm);
            for(int i = 0; i < li.length; i++) {
                if(hm.containsKey(li[i])) {
                    hm.put(li[i], hm.get(li[i]) + 1);
                }
            }
            Set<Map.Entry<String, Integer>> entry = hm.entrySet();
            int[] integer = new int[6];
            Arrays.fill(integer, Integer.MAX_VALUE);
            int cnt = 0;
            for(Map.Entry<String, Integer> e: entry) {
                if(e.getValue() > 0) {
                    int num = transform(e.getKey());
                    integer[cnt++] = (num*num)%100;
                }
            }
            Arrays.sort(integer);
            if(integer[0] != Integer.MAX_VALUE) {
                str = "";
                boolean judge = true;
                for (int i = 0; i < cnt; i++) {
                    int e = integer[i];
                    if (judge) {
                        str += e;
                        judge = false;
                        continue;
                    }
                    if (e > 0 && e < 10) {
                        str += "0" + e;
                        continue;
                    }
                    str += e;
                }
                System.out.println(str);
            } else {
                System.out.println(0);
            }
        }
    
        private static int transform(String str) {
            int ans = 0;
            switch(str) {
                case "one":
                case "a":
                case "first": ans = 1; break;
                case "two":
                case "second":
                case "both": ans = 2; break;
                case "three":
                case"another":
                case "third": ans = 3; break;
                case "four": ans = 4; break;
                case "five": ans = 5; break;
                case "six": ans = 6; break;
                case "seven": ans = 7; break;
                case "eight": ans = 8; break;
                case "nine": ans = 9; break;
                case "ten": ans = 10; break;
                case "eleven": ans = 11; break;
                case "twelve": ans = 12; break;
                case "thirteen": ans = 13; break;
                case "fourteen": ans = 14; break;
                case "fifteen": ans = 15; break;
                case "sixteen": ans = 16; break;
                case "seventeen": ans = 17; break;
                case "eighteen": ans = 18; break;
                case "nineteen": ans = 19;  break;
                case "twenty": ans = 20; break;
            }
            return ans;
        }
    
        private static void initialize(HashMap<String, Integer> hm) {
            hm.put("one", 0); hm.put("eleven", 0);
            hm.put("two", 0); hm.put("twelve", 0);
            hm.put("three", 0); hm.put("thirteen", 0);
            hm.put("four", 0); hm.put("fourteen", 0);
            hm.put("five", 0); hm.put("fifteen", 0);
            hm.put("six", 0); hm.put("sixteen", 0);
            hm.put("seven", 0); hm.put("seventeen", 0);
            hm.put("eight", 0); hm.put("eighteen", 0);
            hm.put("nine", 0); hm.put("nineteen", 0);
            hm.put("ten", 0); hm.put("twenty", 0);
            hm.put("a", 0);
            hm.put("both", 0);
            hm.put("another", 0);
            hm.put("first", 0);
            hm.put("second", 0);
            hm.put("third", 0);
        }
    }
    
  • 相关阅读:
    hdu 4027 Can you answer these queries? 线段树
    ZOJ1610 Count the Colors 线段树
    poj 2528 Mayor's posters 离散化 线段树
    hdu 1599 find the mincost route floyd求最小环
    POJ 2686 Traveling by Stagecoach 状压DP
    POJ 1990 MooFest 树状数组
    POJ 2955 Brackets 区间DP
    lightoj 1422 Halloween Costumes 区间DP
    模板 有源汇上下界最小流 loj117
    模板 有源汇上下界最大流 loj116
  • 原文地址:https://www.cnblogs.com/fromneptune/p/12341107.html
Copyright © 2011-2022 走看看