poj1001

/**
 *
 *filename:poj1001.java
 *author:panzhizhou
 *date:2013-4-16
 */
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;

public class Main {
 private static final Integer NULL = null;
 private static final Integer One = (Integer) 1;

 public static void main(String args[]) throws IOException {
  // Scanner filecin=new Scanner(new
  // File("E:\\poj_input_output\\1001.txt"));
  Scanner filecin = new Scanner(System.in);
  Map<String, Integer> maplist = new TreeMap<String, Integer>();
  Map<String, Integer> ans = new TreeMap<String, Integer>();
  work(maplist);
  int ncase = filecin.nextInt();
  String blank = filecin.nextLine();
  boolean flag = true;
  while (ncase-- > 0) {

   String temp = filecin.nextLine();
   String aftdeal = afterDeal(temp, maplist);
   // System.out.println(k+":"+aftdeal);
   ans.put(aftdeal,
     ans.containsKey(aftdeal) == false ? One : Integer
       .valueOf(ans.get(aftdeal) + 1));
  }
  Iterator<String> iter = ans.keySet().iterator();
  while (iter.hasNext()) {
   String str = iter.next();
   if (ans.get(str) > 1) {
    System.out.println(str + " " + ans.get(str));
    flag = false;
   }
  }
  if (flag == true)
   System.out.println("No duplicates.");
 }

 /**
  * @param temp
  * @return
  */
 private static String afterDeal(String temp, Map<String, Integer> maplist) {
  // TODO Auto-generated method stub
  int len = temp.length();
  String ans = "";
  for (int i = 0; i < len; i++) {
   if (temp.charAt(i) == '-')
    continue;
   if (temp.charAt(i) >= 65 && temp.charAt(i) <= 96) {
    char ch = temp.charAt(i);
    String str = String.valueOf(ch);
    ans += maplist.get(str);
   } else {
    char ch = temp.charAt(i);
    String str = String.valueOf(ch);
    ans += str;
   }
  }
  String presub = ans.substring(0, 3);
  presub += "-";
  presub += ans.substring(3, ans.length());
  return presub;
 }

 /**
  * @param maplist
  */
 private static void work(Map<String, Integer> maplist) {
  maplist.put("A", 2);
  maplist.put("B", 2);
  maplist.put("C", 2);
  maplist.put("D", 3);
  maplist.put("E", 3);
  maplist.put("F", 3);
  maplist.put("G", 4);
  maplist.put("H", 4);
  maplist.put("I", 4);
  maplist.put("J", 5);
  maplist.put("K", 5);
  maplist.put("L", 5);
  maplist.put("M", 6);
  maplist.put("N", 6);
  maplist.put("O", 6);
  maplist.put("P", 7);
  maplist.put("R", 7);
  maplist.put("S", 7);
  maplist.put("T", 8);
  maplist.put("U", 8);
  maplist.put("V", 8);
  maplist.put("W", 9);
  maplist.put("X", 9);
  maplist.put("Y", 9);
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值