結果

問題 No.812 Change of Class
ユーザー htensai
提出日時 2020-02-14 18:26:47
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,681 bytes
コンパイル時間 3,156 ms
コンパイル使用メモリ 83,692 KB
実行使用メモリ 79,904 KB
最終ジャッジ日時 2024-06-12 22:00:39
合計ジャッジ時間 43,666 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 5 WA * 55
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.io.*;

public class Main {
	public static void main (String[] args) throws Exception {
	    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	    String[] first = br.readLine().split(" ", 2);
		int n = Integer.parseInt(first[0]);
		int m = Integer.parseInt(first[1]);
		ArrayList<Integer>[] graph = new ArrayList[n];
		for (int i = 0; i < n; i++) {
		    graph[i] = new ArrayList<>();
		}
		for (int i = 0; i < m; i++) {
		    String[] line = br.readLine().split(" ", 2);
    		int a = Integer.parseInt(line[0]) - 1;
    		int b = Integer.parseInt(line[1]) - 1;
    		graph[a].add(b);
    		graph[b].add(a);
		}
		int q = Integer.parseInt(br.readLine());
		StringBuilder sb = new StringBuilder();
		ArrayDeque<Integer> next = new ArrayDeque<>();
		ArrayDeque<Integer> day = new ArrayDeque<>();
		for (int i = 0; i < q; i++) {
		    int x = Integer.parseInt(br.readLine()) - 1;
		    int[] friends = new int[n];
		    Arrays.fill(friends, Integer.MAX_VALUE / 10);
		    next.add(x);
		    day.add(0);
		    while (next.size() > 0) {
		        int y = next.poll();
		        int z = day.poll();
		        if (friends[y] > z) {
		            friends[y] = z;
		            for (int a : graph[y]) {
		                next.add(a);
		                day.add(z + 1);
		            }
		        }
		    }
		    int count = 0;
		    int max = 0;
		    for (int j = 0; j < n; j++) {
		        if (friends[j] < Integer.MAX_VALUE / 10) {
		            count++;
		            max = Math.max(max, friends[j]);
		        }
		    }
		    sb.append(count - 1).append(" ").append(max - 1).append("\n");
		}
		System.out.print(sb);
    }
    
}
0