結果
問題 | No.277 根掘り葉掘り |
ユーザー |
|
提出日時 | 2016-05-01 20:34:48 |
言語 | Java17 (openjdk 17.0.1) |
結果 |
AC
|
実行時間 | 1,202 ms / 3,000 ms |
コード長 | 1,024 bytes |
コンパイル時間 | 1,823 ms |
使用メモリ | 66,112 KB |
最終ジャッジ日時 | 2022-11-28 05:56:03 |
合計ジャッジ時間 | 17,556 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge15 |
テストケース
テストケース表示入力 | 結果 | 実行時間 使用メモリ |
---|---|---|
testcase_00 | AC | 98 ms
37,480 KB |
testcase_01 | AC | 96 ms
37,588 KB |
testcase_02 | AC | 100 ms
37,768 KB |
testcase_03 | AC | 108 ms
37,984 KB |
testcase_04 | AC | 107 ms
37,856 KB |
testcase_05 | AC | 116 ms
37,996 KB |
testcase_06 | AC | 114 ms
37,888 KB |
testcase_07 | AC | 115 ms
38,008 KB |
testcase_08 | AC | 94 ms
37,312 KB |
testcase_09 | AC | 1,160 ms
64,472 KB |
testcase_10 | AC | 1,111 ms
64,428 KB |
testcase_11 | AC | 1,202 ms
66,112 KB |
testcase_12 | AC | 1,176 ms
65,320 KB |
testcase_13 | AC | 1,201 ms
65,364 KB |
testcase_14 | AC | 1,121 ms
65,728 KB |
testcase_15 | AC | 1,180 ms
65,896 KB |
testcase_16 | AC | 1,128 ms
65,352 KB |
testcase_17 | AC | 1,139 ms
65,300 KB |
testcase_18 | AC | 1,165 ms
64,928 KB |
testcase_19 | AC | 1,194 ms
64,940 KB |
ソースコード
package yukicoder; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Queue; import java.util.Scanner; public class Main{ public static void main(String[] args)throws Exception{ new Main().solve(); } void solve(){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); ArrayList<Integer>[] g=new ArrayList[n]; for(int i=0;i<n;i++){ g[i]=new ArrayList<Integer>(); } for(int i=0;i<n-1;i++){ int x=sc.nextInt()-1; int y=sc.nextInt()-1; g[x].add(y);g[y].add(x); } int[] dist=new int[n]; Arrays.fill(dist, Integer.MAX_VALUE/3); Queue<Integer> q=new ArrayDeque<Integer>(); q.add(0); dist[0]=0; for(int i=0;i<n;i++){ //葉の場合、始点としてキューに追加 if(g[i].size()<=1){ dist[i]=0; q.add(i); } } while(!q.isEmpty()){ int v=q.poll(); for(int u:g[v]){ if(dist[u]>dist[v]+1){ dist[u]=dist[v]+1; q.add(u); } } } for(int i=0;i<n;i++){ System.out.println(dist[i]); } } }