Pagini recente » Cod sursa (job #2406984) | Cod sursa (job #2193949) | Cod sursa (job #2785644) | Cod sursa (job #1998392) | Cod sursa (job #1765020)
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static int expectedOutputCount;
private static int[] expectedOutputValues;
private static String whatToSearch;
private static String whereToSearch;
public static void main(String[] args) throws URISyntaxException {
readInput();
SearchEngine searchEngine = new SearchEngine();
Long startTime = System.currentTimeMillis();
Result output = searchEngine.search(whatToSearch, whereToSearch);
Long runTime = System.currentTimeMillis() - startTime;
readOutput();
if (runTime > 40) {
System.out.println("Your program exceeded the time limit.");
}
if (output.getNumberOfOccurrences() == expectedOutputCount && Arrays.equals(expectedOutputValues, output.getOccurrencePositions())) {
System.out.println("Test was successful in: " + runTime);
} else {
System.out.println("Test failed in: " + runTime);
}
}
private static void readInput() {
try (Scanner scanner = new Scanner(Main.class.getResourceAsStream("input.txt"))) {
whatToSearch = scanner.next();
whereToSearch = scanner.next();
}
}
private static void readOutput() {
try (Scanner scanner = new Scanner(Main.class.getResourceAsStream("output.txt"))) {
expectedOutputCount = scanner.nextInt();
if (expectedOutputCount > 1000) {
expectedOutputValues = new int[1000];
} else {
expectedOutputValues = new int[expectedOutputCount];
}
for (int i = 0; i < expectedOutputValues.length; i++) {
expectedOutputValues[i] = scanner.nextInt();
}
}
}
public static class Result {
private int numberOfOccurrences;
private int[] occurrencePositions;
public Result(int numberOfOccurrences, int[] occurrencePositions) {
this.numberOfOccurrences = numberOfOccurrences;
this.occurrencePositions = occurrencePositions;
}
public Result() {
}
public int getNumberOfOccurrences() {
return numberOfOccurrences;
}
public void setNumberOfOccurrences(int numberOfOccurrences) {
this.numberOfOccurrences = numberOfOccurrences;
}
public int[] getOccurrencePositions() {
return occurrencePositions;
}
public void setOccurrencePositions(int[] occurrencePositions) {
this.occurrencePositions = occurrencePositions;
}
}
}