Go to diff to previous submission
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; public class Bugs { static public int replace(int offset) { int hladanyIndex = 0; int hladanyStart = -1; for(int i=offset; i < co.length; i++) { char c = co[i]; if(c == cim[hladanyIndex]) { if(hladanyIndex == 0) { hladanyStart = i; } hladanyIndex++; if(hladanyIndex == cim.length) { return i-1; } } else { if(c == cim[0]) { int result = replace(i); if(result == -1) { return -1; } else { i = result+1; } } else { return -1; } } } return -1; } static public void replaceTop() { for(int i=0; i < co.length; i++) { char c = co[i]; if(c == cim[0]) { int result = replace(i); if(result != -1) { i = result+1; continue; } } } } static public char[] co; public static char[] cim; static public LinkedList<int[]> intervaly; String identifier; while((identifier = reader.readLine()) != null) { int medzera = identifier.indexOf(" "); char[] hladame = identifier.substring(medzera+1).toCharArray(); for(int i=0; i<riadkov; ++i) { char [] line = reader.readLine().toCharArray(); intervaly = new LinkedList<int[]>(); co = line; cim = hladame; replaceTop(); } } } }
--- c4.s1076.cteam121.bugs.java.0.Bugs.java +++ c4.s1096.cteam121.bugs.java.0.Bugs.java @@ -5,4 +5,5 @@ import java.io.IOException; import java.io.InputStreamReader; +import java.util.LinkedList; public class Bugs { @@ -20,7 +21,4 @@ hladanyIndex++; if(hladanyIndex == cim.length) { - for(int j = hladanyStart; j <= i; j++) { - maska[j] = false; - } return i-1; } @@ -50,6 +48,9 @@ if(result != -1) { i = result+1; + continue; } } + + System.out.print(c); } } @@ -57,5 +58,5 @@ static public char[] co; public static char[] cim; - static public boolean[] maska; + static public LinkedList<int[]> intervaly; public static void main(String[] args) throws IOException { @@ -71,9 +72,5 @@ for(int i=0; i<riadkov; ++i) { char [] line = reader.readLine().toCharArray(); - maska = new boolean[line.length]; - - for(int j=0; j<maska.length; j++) { - maska[j] = true; - } + intervaly = new LinkedList<int[]>(); co = line; @@ -82,9 +79,4 @@ replaceTop(); - for(int j=0; j<maska.length; j++) { - if(maska[j]) - System.out.print(line[j]); - } - System.out.println(); }