fork download
  1. import java.util.Scanner;
  2. import java.util.Stack;
  3. import java.util.Arrays;
  4. import java.io.BufferedReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.HashMap;
  8. import java.util.Set;
  9. class Main{
  10. public static void main(String args []) throws IOException{
  11. int T = Integer.parseInt(br.readLine().trim());
  12. StringBuffer sb = new StringBuffer("");
  13. int char2int[] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,-1,7,7,8,8,8,9,9,9,-1};
  14.  
  15. for(int i = 1; i<=T; i++){
  16. br.readLine();
  17. int n = Integer.parseInt(br.readLine().trim());
  18. String str = "";
  19. HashMap<String, Integer> hm = new HashMap<>();
  20. Stack<String> list = new Stack<String>();
  21.  
  22. for(int j = 1; j<=n; j++){
  23. str = br.readLine().trim();
  24. String temp = "";
  25. int c = 0;
  26.  
  27. for(int k = 0; k<str.length(); k++){
  28. char ch = str.charAt(k);
  29. if(ch!='-'){
  30. int id = (int)ch - (int)'A';
  31. if(Character.isLetter(ch)) temp+=char2int[id];
  32. else temp+=ch;
  33. c++;
  34. if(c == 3) temp+="-";
  35. }
  36. }
  37.  
  38. if(hm.containsKey(temp)){
  39. hm.put(temp, hm.get(temp) + 1);
  40. }
  41. else {
  42. hm.put(temp,1);
  43. list.push(temp);
  44. }
  45. }
  46.  
  47. boolean check = false;
  48. String arr[] = new String[list.size()];
  49.  
  50. for (int c = 0; c < arr.length; c++) {
  51. arr[c] = list.pop();
  52. }
  53.  
  54. Arrays.sort(arr);
  55. for (String key : arr) {
  56. Integer it = hm.get(key);
  57. if(it>1){
  58. sb.append(key + " " + it + "\n");
  59. check = true;
  60. }
  61. }
  62. if(!check)sb.append("No duplicates.\n");
  63. if(i!=T) sb.append("\n");
  64. }
  65. System.out.print(sb);
  66. }
  67. }
Success #stdin #stdout 0.07s 380160KB
stdin
1

12
4873279
ITS-EASY
888-4567
3-10-10-10
888-GLOP
TUT-GLOP
967-11-11
310-GINO
F101010
888-1200
-4-8-7-3-2-7-9-
487-3279
stdout
310-1010 2
487-3279 4
888-4567 3