Advertisement
Guest User

Untitled

a guest
Nov 18th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6.  
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.util.HashMap;
  12. import java.util.ArrayList;
  13. import java.util.Scanner;
  14.  
  15. /**
  16. *
  17. * @author Juan
  18. */
  19. class Nodo {
  20.  
  21. String nick;
  22. ArrayList<Nodo> variaciones;
  23.  
  24. Nodo(String nick, ArrayList<Nodo> variaciones) {
  25. this.nick = nick;
  26. this.variaciones = variaciones;
  27. }
  28.  
  29. }
  30.  
  31. public class HashDiccionario {
  32.  
  33. static HashMap<String, Integer> listaDeAlias = new HashMap<String, Integer>();
  34. static BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
  35. static int aliasGlobal = 0;
  36.  
  37. static String retornarAlias(String base, int inicio) {
  38.  
  39. String aux = base;
  40. for (int i = inicio+1; i < 100000; i++) {
  41.  
  42. if (!listaDeAlias.containsKey(base + i)) {
  43. aux = base + i;
  44. aliasGlobal = i;
  45. break;
  46. }
  47.  
  48. }
  49. return aux;
  50. }
  51.  
  52. public static void main(String[] args) throws IOException {
  53.  
  54. Scanner entrada = new Scanner(System.in);
  55. while (entrada.hasNext()) {
  56. int n = entrada.nextInt();
  57. listaDeAlias = new HashMap<String,Integer>();
  58. for (int i = 0; i < n; i++) {
  59.  
  60. String alias = entrada.next();
  61.  
  62. if (listaDeAlias.containsKey(alias)) {
  63.  
  64. int cantidadDeAlias = listaDeAlias.get(alias);
  65. // caso de que no tenga ningun alias conocido
  66.  
  67. String nuevoAlias = retornarAlias(alias, cantidadDeAlias);
  68.  
  69. listaDeAlias.put(alias, aliasGlobal);
  70. listaDeAlias.put(nuevoAlias, 0);
  71.  
  72. System.out.println(nuevoAlias);
  73. aliasGlobal = 0;
  74.  
  75. } else {
  76.  
  77. listaDeAlias.put(alias, 0);
  78. System.out.println("OK");
  79.  
  80. }
  81. }
  82.  
  83. }
  84.  
  85. }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement