import java.util.Scanner;
public class eks {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int types = s.nextInt();
int sequenceLen = s.nextInt();
String[]generations = new String[types];
for (int i = 0; i < types; i++) {
int genLen = s.nextInt();
char[] gen = new char[genLen];
for (int j = 0; j < genLen; j++) {
gen[j] = (char)(s.nextInt()-1);
}
generations[i] = String.valueOf(gen);
}
char[] seqBuilder = new char[sequenceLen];
for (int i = 0; i < sequenceLen; i++) {
seqBuilder[i] = (char)(s.nextInt()-1);
}
String sequence = String.valueOf(seqBuilder);
StringBuilder state = new StringBuilder();
state.append((char)0);
int minute = 1;
while (true) {
if (state.indexOf(sequence) != -1 ) {
System.out.println(minute);
return;
}
StringBuilder sb = new StringBuilder();
state.codePoints().forEach(a -> sb.append(generations[(char)a]));
state = sb;
minute++;
if (minute > 100) {
System.out.println("-1");
return;
}
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.util.Scanner; public class eks { public static void main(String[] args) { Scanner s = new Scanner(System.in); int types = s.nextInt(); int sequenceLen = s.nextInt(); String[]generations = new String[types]; for (int i = 0; i < types; i++) { int genLen = s.nextInt(); char[] gen = new char[genLen]; for (int j = 0; j < genLen; j++) { gen[j] = (char)(s.nextInt()-1); } generations[i] = String.valueOf(gen); } char[] seqBuilder = new char[sequenceLen]; for (int i = 0; i < sequenceLen; i++) { seqBuilder[i] = (char)(s.nextInt()-1); } String sequence = String.valueOf(seqBuilder); StringBuilder state = new StringBuilder(); state.append((char)0); int minute = 1; while (true) { if (state.indexOf(sequence) != -1 ) { System.out.println(minute); return; } StringBuilder sb = new StringBuilder(); state.codePoints().forEach(a -> sb.append(generations[(char)a])); state = sb; minute++; if (minute > 100) { System.out.println("-1"); return; } } } } |
English