Go to diff to previous submission
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class Bugs { static public int replace(int offset) { int hladanyIndex = 0; for(int i=offset; i < co.length; i++) { char c = co[i]; if(c == cim[hladanyIndex]) { hladanyIndex++; if(hladanyIndex == cim.length) { return i+1; } } else { if(c == cim[0]) { int result = replace(i); if(result < 0) { return -(i+1); } else { i = result-1; } } else { return -(i+1); } } } return -co.length; } static public void replaceTop() { for(int i=0; i < co.length; i++) { if(co[i] == cim[0]) { int result = replace(i); if(result < 0) { for(int j=i; j<-result; j++) { } i = -result-1; } else { i = result-1; } } else { } } /*int lastPrinted = 0; for(int i=0; i < co.length; i++) { char c = co[i]; if(c == cim[0]) { int result = replace(i); if(result > 0) { i = result-1; lastPrinted = i+1; continue; } else { i = -result; for(int j=lastPrinted+1; j <= i; j++) { System.out.print(co[j]); } } } else { System.out.print(c); lastPrinted = i; } }*/ } static public char[] co; public static char[] cim; while(scanner.hasNextInt()) { int riadkov = scanner.nextInt(); scanner.skip(" "); char [] hladame = scanner.nextLine().toCharArray(); for(int i=0; i<riadkov; ++i) { char [] line = scanner.nextLine().toCharArray(); co = line; cim = hladame; replaceTop(); } } /*BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String identifier; while((identifier = reader.readLine()) != null) { int medzera = identifier.indexOf(" "); int riadkov = Integer.valueOf(identifier.substring(0, medzera)); char[] hladame = identifier.substring(medzera+1).toCharArray(); for(int i=0; i<riadkov; ++i) { char [] line = reader.readLine().toCharArray(); co = line; cim = hladame; replaceTop(); System.out.println(); } }*/ } }
--- c4.s1269.cteam121.bugs.java.0.Bugs.java +++ c4.s1305.cteam121.bugs.java.0.Bugs.java @@ -5,9 +5,9 @@ import java.io.IOException; import java.io.InputStreamReader; +import java.util.Scanner; public class Bugs { static public int replace(int offset) { int hladanyIndex = 0; - int hladanyStart = -1; for(int i=offset; i < co.length; i++) { @@ -15,7 +15,4 @@ if(c == cim[hladanyIndex]) { - if(hladanyIndex == 0) { - hladanyStart = i; - } hladanyIndex++; if(hladanyIndex == cim.length) { @@ -86,5 +83,23 @@ public static void main(String[] args) throws IOException { - BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + Scanner scanner = new Scanner(System.in); + while(scanner.hasNextInt()) { + int riadkov = scanner.nextInt(); + scanner.skip(" "); + char [] hladame = scanner.nextLine().toCharArray(); + + for(int i=0; i<riadkov; ++i) { + char [] line = scanner.nextLine().toCharArray(); + + co = line; + cim = hladame; + + replaceTop(); + + System.out.println(); + } + } + + /*BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String identifier; @@ -105,5 +120,5 @@ System.out.println(); } - } + }*/ } }