結果
問題 | No.92 逃走経路 |
ユーザー | mosmos_21 |
提出日時 | 2017-06-21 16:39:25 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 648 ms / 5,000 ms |
コード長 | 1,698 bytes |
コンパイル時間 | 2,402 ms |
コンパイル使用メモリ | 80,648 KB |
実行使用メモリ | 47,300 KB |
最終ジャッジ日時 | 2024-10-02 10:53:27 |
合計ジャッジ時間 | 11,106 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 646 ms
47,300 KB |
testcase_01 | AC | 132 ms
41,184 KB |
testcase_02 | AC | 149 ms
41,492 KB |
testcase_03 | AC | 147 ms
41,540 KB |
testcase_04 | AC | 149 ms
41,516 KB |
testcase_05 | AC | 293 ms
47,096 KB |
testcase_06 | AC | 291 ms
47,092 KB |
testcase_07 | AC | 290 ms
46,668 KB |
testcase_08 | AC | 221 ms
43,560 KB |
testcase_09 | AC | 267 ms
43,072 KB |
testcase_10 | AC | 463 ms
46,776 KB |
testcase_11 | AC | 496 ms
46,944 KB |
testcase_12 | AC | 648 ms
47,200 KB |
testcase_13 | AC | 266 ms
43,348 KB |
testcase_14 | AC | 295 ms
43,496 KB |
testcase_15 | AC | 353 ms
43,812 KB |
testcase_16 | AC | 424 ms
44,812 KB |
testcase_17 | AC | 638 ms
47,080 KB |
testcase_18 | AC | 455 ms
47,020 KB |
testcase_19 | AC | 387 ms
46,984 KB |
ソースコード
import java.util.Arrays; import java.util.Scanner; class Main { static Scanner in = new Scanner(System.in); public static void main(String[] args) { int N = in.nextInt(), M = in.nextInt(), K = in.nextInt(); int[] a = new int[M + 1], b = new int[M + 1], c = new int[M + 1]; for (int i = 1; i < M + 1; i++) { a[i] = in.nextInt(); b[i] = in.nextInt(); c[i] = in.nextInt(); } int[] d = new int[K + 1]; for(int i = 1; i < K + 1; i++){ d[i] = in.nextInt(); } boolean[][] n = new boolean[K + 1][N + 1]; Arrays.fill(n[0], true); for(int i = 1; i < K + 1; i++){ Arrays.fill(n[i], false); } for(int x = 1; x < K + 1; x++){ for(int y = 1; y < N + 1; y++){ for(int z = 1; z < M + 1; z++){ if(n[x - 1][y]){ if(a[z] == y && c[z] == d[x]){ n[x][b[z]] = true; } if(b[z] == y && c[z] == d[x]){ n[x][a[z]] = true; } } } } } int sum = 0; for(int i = 1; i < N + 1; i++){ if(n[K][i]){ sum++; } } System.out.println(sum); boolean t = true; for(int i = 1; i < N + 1; i++){ if(t && n[K][i]){ System.out.print(i); t = false; }else if(n[K][i]){ System.out.print(" " + i); } } System.out.println(); } }