Cześć! Czy ktoś może powiedzieć w czym jest błąd. SPOJ wyrzuca mi, że rozwiązanie jest błędne. W IntelliJ działa.
https://pl.spoj.com/problems/PA05_POT/
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws java.lang.Exception {
Scanner sc = new Scanner(System.in);
//System.out.print("Wprowadź liczbę linii danych: ");
int numberOfInput = Integer.parseInt(sc.nextLine());
String[] inputs = new String[numberOfInput];
for (int i = 0; i < numberOfInput; i++) {
//System.out.print("Wprowadź daną nr " + (int) (i + 1) + ": ");
inputs[i] = sc.nextLine();
}
for (int i = 0; i < numberOfInput; i++) {
StringTokenizer st = new StringTokenizer(inputs[i]);
String nString = st.nextToken();
String pString = st.nextToken();
int n = Integer.parseInt(nString.substring(nString.length()-1));
int p = Integer.parseInt(pString.substring(pString.length()-1));
int out = 0;
boolean isPEven;
if (n == 0 || n == 1 || n == 5 || n == 6) {
out = n;
} else {
if (p%2 != 0) {
isPEven = false;
} else {
isPEven = true;
}
if (n == 4) {
if (!isPEven) {
out = 4;
} else {
out = 6;
}
} else if (n == 9) {
if (!isPEven) {
out = 9;
} else {
out = 1;
}
} else {
int rest = p%4;
switch(n) {
case 2:
int[] table2 = {6, 2, 4, 8};
out = table2[rest];
break;
case 3:
int[] table3 = {1, 3, 9, 7};
out = table3[rest];
break;
case 7:
int[] table7 = {1, 7, 9, 3};
out = table7[rest];
break;
case 8:
int[] table8 = {6, 8, 4, 2};
out = table8[rest];
break;
}
}
}
System.out.println(out);
}
}
}