Source code for submission s1195

Go to diff to previous submission

Bugs.java

  1.  
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.util.*;
  6.  
  7. class Chyba {
  8. public String ret;
  9. public int line;
  10. public int toLine;
  11.  
  12. }
  13.  
  14. public class Bugs {
  15. static List<Chyba> chyby = new LinkedList<Chyba>();
  16.  
  17. public static List<String> getErrors(int radka) {
  18. List<String> ret = new LinkedList<String>();
  19. for(Chyba a : chyby) {
  20. if (a.line <= radka && radka <= a.toLine) {
  21. ret.add(a.ret);
  22. }
  23. }
  24. return ret;
  25. }
  26.  
  27.  
  28. public static void main(String [] args) throws IOException {
  29.  
  30.  
  31. int radek = 1;
  32.  
  33. while(is.ready()) {
  34.  
  35. String line = is.readLine();
  36. //System.out.println(line);
  37.  
  38. // Test na bug case?
  39. int pozicePrvniMezery = line.indexOf(" ");
  40.  
  41. if (pozicePrvniMezery > 0) {
  42. // Pridat bug test
  43. int poziceDruheMezery = line.indexOf(" ", pozicePrvniMezery+1);
  44. //System.out.print("Pozice 1. "+pozicePrvniMezery+", druhe: "+poziceDruheMezery);
  45. if (poziceDruheMezery < 0) {
  46. try {
  47. //System.out.println("Cislo:"+line.substring(0, pozicePrvniMezery));
  48. int pocet = Integer.parseInt(line.substring(0, pozicePrvniMezery));
  49. String ret = line.substring(pozicePrvniMezery+1, line.length());
  50. //System.out.println("Ret:"+ret);
  51. Chyba a = new Chyba();
  52. a.ret = ret;
  53. a.line = radek+1;
  54. a.toLine = radek+pocet;
  55. chyby.add(a);
  56. radek++;
  57. continue;
  58. } catch (Exception e) {
  59.  
  60. }
  61. }
  62. }
  63.  
  64. // Replace na data
  65. List<String> chyby = getErrors(radek);
  66. int i = 0;
  67. int puvodni = line.length();
  68. int novaDelka = 0;
  69. boolean nalezeno = false;
  70. //System.out.println(chyby.toString());
  71. do {
  72. nalezeno = false;
  73. for(String er : chyby) {
  74. line = line.replaceAll("("+er+")*", "");
  75. novaDelka = line.length();
  76. if (novaDelka != puvodni) {
  77. nalezeno = true;
  78. puvodni = novaDelka;
  79. }
  80. }
  81. } while(nalezeno);
  82.  
  83. System.out.println(line);
  84.  
  85. radek++;
  86. }
  87. }
  88. }
  89.  

Diff to submission s1105

Bugs.java

--- c4.s1105.cteam111.bugs.java.0.Bugs.java
+++ c4.s1195.cteam111.bugs.java.0.Bugs.java
@@ -1,3 +1,6 @@
 
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
 import java.util.*;
 
@@ -23,35 +26,38 @@
         
         
-        public static void main(String [] args) {
-                Scanner sc = new Scanner(System.in);
-                
+        public static void main(String [] args) throws IOException {
+
+                BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
+                        
             int radek = 1;
-        
-            /*String test = "Franta ERBUBERRUGGR";
-            System.out.println(test);
-            System.out.println(test.replaceAll("(BUG)*(ERR)*", ""));*/
             
-                while(sc.hasNextLine()) {
-                        String line = sc.nextLine();
+                while(is.ready()) {
+                        
+                        String line = is.readLine();
+                        //System.out.println(line);
                         
                         // Test na bug case?
-                        String [] array = line.split(" ");
-                        if (array.length == 2) {
+                        int pozicePrvniMezery = line.indexOf(" ");
+                        
+                        if (pozicePrvniMezery > 0) {
                                 // Pridat bug test
-                                Chyba a = new Chyba();
-                                a.ret = array[1];
-                                int nasleduje = 0;
-                                boolean jeToBug = true;
-                                try {
-                                        nasleduje = Integer.parseInt(array[0]);
-                                } catch(Exception e) {
-                                        jeToBug = false;
-                                }
-                                if (jeToBug) {
-                                        a.line = radek+1;
-                                        a.toLine = radek+nasleduje;
-                                        chyby.add(a);
-                                        radek++;
-                                        continue;
+                                int poziceDruheMezery = line.indexOf(" ", pozicePrvniMezery+1);
+                                //System.out.print("Pozice 1. "+pozicePrvniMezery+", druhe: "+poziceDruheMezery);
+                                if (poziceDruheMezery < 0) {
+                                        try {
+                                                //System.out.println("Cislo:"+line.substring(0, pozicePrvniMezery));
+                                                int pocet = Integer.parseInt(line.substring(0, pozicePrvniMezery));
+                                                String ret = line.substring(pozicePrvniMezery+1, line.length());
+                                                //System.out.println("Ret:"+ret);
+                                                Chyba a = new Chyba();
+                                                a.ret = ret;
+                                                a.line = radek+1;
+                                                a.toLine = radek+pocet;
+                                                chyby.add(a);
+                                                radek++;
+                                                continue;                                               
+                                        } catch (Exception e) {
+                                                
+                                        }
                                 }
                         }
@@ -63,10 +69,9 @@
                         int novaDelka = 0;
                         boolean nalezeno = false;
+                        //System.out.println(chyby.toString());
                         do {
                                 nalezeno = false;
                                 for(String er : chyby) {
-                                        //System.out.println("Pred: "+line);
                                         line = line.replaceAll("("+er+")*", "");
-                                        //System.out.println("Po: "+line);
                                         novaDelka = line.length();
                                         if (novaDelka != puvodni) {
@@ -81,5 +86,4 @@
                         radek++;
                 }
-                
         }
 }