Source code for submission s678

Go to diff to previous submission

Fs.java

  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.HashMap;
  5.  
  6.  
  7. class Fs {
  8.  
  9.  
  10. static HashMap<Character, String> mapa = new HashMap<Character, String>();
  11. static HashMap<String, Character> mapaZpet = new HashMap<String, Character>();
  12. static HashMap<Character, Integer> mapaDelka = new HashMap<Character, Integer>();
  13. /**
  14. * @param args
  15. * @throws IOException
  16. */
  17. public static void main(String[] args) throws IOException {
  18. // System.out.println(Integer.valueOf('Z'));
  19.  
  20. mapaDelka.put('A', 2);
  21. mapaDelka.put('B', 4);
  22. mapaDelka.put('C', 4);
  23. mapaDelka.put('D', 3);
  24. mapaDelka.put('E', 1);
  25. mapaDelka.put('F', 4);
  26. mapaDelka.put('G', 3);
  27. mapaDelka.put('H', 4);
  28. mapaDelka.put('I', 2);
  29. mapaDelka.put('J', 4);
  30. mapaDelka.put('K', 3);
  31. mapaDelka.put('L', 4);
  32. mapaDelka.put('M', 2);
  33. mapaDelka.put('N', 2);
  34. mapaDelka.put('O', 3);
  35. mapaDelka.put('P', 4);
  36. mapaDelka.put('Q', 4);
  37. mapaDelka.put('R', 3);
  38. mapaDelka.put('S', 3);
  39. mapaDelka.put('T', 1);
  40. mapaDelka.put('U', 3);
  41. mapaDelka.put('V', 4);
  42. mapaDelka.put('W', 3);
  43. mapaDelka.put('X', 4);
  44. mapaDelka.put('Y', 4);
  45. mapaDelka.put('Z', 4);
  46. mapaDelka.put('_', 4);
  47. mapaDelka.put(',', 4);
  48. mapaDelka.put('.', 4);
  49. mapaDelka.put('?', 4);
  50.  
  51.  
  52.  
  53.  
  54. mapa.put('A', ".-");
  55. mapa.put('B', "-...");
  56. mapa.put('C', "-.-.");
  57. mapa.put('D', "-..");
  58. mapa.put('E', ".");
  59. mapa.put('F', "..-.");
  60. mapa.put('G', "--.");
  61. mapa.put('H', "....");
  62. mapa.put('I', "..");
  63. mapa.put('J', ".---");
  64. mapa.put('K', "-.-");
  65. mapa.put('L', ".-..");
  66. mapa.put('M', "--");
  67. mapa.put('N', "-.");
  68. mapa.put('O', "---");
  69. mapa.put('P', ".--.");
  70. mapa.put('Q', "--.-");
  71. mapa.put('R', ".-.");
  72. mapa.put('S', "...");
  73. mapa.put('T', "-");
  74. mapa.put('U', "..-");
  75. mapa.put('V', "...-");
  76. mapa.put('W', ".--");
  77. mapa.put('X', "-..-");
  78. mapa.put('Y', "-.--");
  79. mapa.put('Z', "--..");
  80. mapa.put('_', "..--");
  81. mapa.put(',', ".-.-");
  82. mapa.put('.', "---.");
  83. mapa.put('?', "----");
  84.  
  85. mapaZpet.put(".-",'A');
  86. mapaZpet.put("-...",'B');
  87. mapaZpet.put("-.-.",'C');
  88. mapaZpet.put("-..",'D');
  89. mapaZpet.put(".",'E');
  90. mapaZpet.put("..-.",'F');
  91. mapaZpet.put("--.",'G');
  92. mapaZpet.put("....",'H');
  93. mapaZpet.put("..",'I');
  94. mapaZpet.put(".---",'J');
  95. mapaZpet.put("-.-",'K');
  96. mapaZpet.put(".-..",'L');
  97. mapaZpet.put("--",'M');
  98. mapaZpet.put("-.",'N');
  99. mapaZpet.put("---",'O');
  100. mapaZpet.put(".--.",'P');
  101. mapaZpet.put("--.-",'Q');
  102. mapaZpet.put(".-.",'R');
  103. mapaZpet.put("...",'S');
  104. mapaZpet.put("-",'T');
  105. mapaZpet.put("..-",'U');
  106. mapaZpet.put("...-",'V');
  107. mapaZpet.put(".--",'W');
  108. mapaZpet.put("-..-",'X');
  109. mapaZpet.put("-.--",'Y');
  110. mapaZpet.put("--..",'Z');
  111. mapaZpet.put("..--",'_');
  112. mapaZpet.put(".-.-",',');
  113. mapaZpet.put("---.",'.');
  114. mapaZpet.put("----",'?');
  115.  
  116. String line = "";
  117. while((line = in.readLine()) != null){
  118. if(line.equals("")) break;
  119. System.out.println(zpracuj(line));
  120. }
  121.  
  122. }
  123.  
  124. public static String zpracuj(String line){
  125. String vysledek = "";
  126. int znakZepredu = 0;
  127. int znakZezadu = line.length()-1;
  128. int delkaZezadu = 0;
  129. int delkaZepredu = 0;
  130. String aktualniKod = "";
  131. String prevadenyKod = "";
  132.  
  133. while(!(znakZepredu < 0) && (znakZezadu >= 0 )){
  134. delkaZezadu = mapaDelka.get(line.charAt(znakZezadu));
  135.  
  136. while(true){
  137. if(delkaZepredu >= delkaZezadu){
  138. znakZezadu--;
  139. prevadenyKod = aktualniKod.substring(0, delkaZezadu);
  140. aktualniKod = aktualniKod.substring(delkaZezadu);
  141. vysledek += mapaZpet.get(prevadenyKod);
  142. delkaZepredu -= delkaZezadu;
  143. delkaZezadu = 0;
  144. break;
  145. }
  146. else{
  147. delkaZepredu += mapaDelka.get(line.charAt(znakZepredu));
  148.  
  149. aktualniKod = aktualniKod + mapa.get(line.charAt(znakZepredu));
  150. znakZepredu++;
  151. }
  152. }
  153.  
  154. }
  155. return vysledek;
  156. }
  157.  
  158. }
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  

Diff to submission s673

Fs.java

--- c5.s673.cteam060.fs.java.0.Fs.java
+++ c5.s678.cteam060.fs.java.0.Fs.java
@@ -9,7 +9,7 @@
         
         static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
-        static HashMap<Character, String> mapa = new HashMap<>();
-        static HashMap<String, Character> mapaZpet = new HashMap<>();
-        static HashMap<Character, Integer> mapaDelka = new HashMap<>();
+        static HashMap<Character, String> mapa = new HashMap<Character, String>();
+        static HashMap<String, Character> mapaZpet = new HashMap<String, Character>();
+        static HashMap<Character, Integer> mapaDelka = new HashMap<Character, Integer>();
         /**
          * @param args