求助,所有点都RE了【在本地可以得到正确结果】
查看原帖
求助,所有点都RE了【在本地可以得到正确结果】
286366
pinkPatrick楼主2020/9/29 21:11

public class P1536 {
    static int []f;
    public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();//城镇数目
            int m = in.nextInt();//道路数目
            f = new int[n+1];
            if(m ==0){
                in.nextInt();
                break;
            }
            //初始化
            for (int i = 1; i <= n; i++) {
                f[i] = i;
            }
            for (int i = 0; i < m; i++) {
                merge(in.nextInt() ,in.nextInt());
            }
            //找出应修路的数目
            int ans = 0;
            for (int i = 1; i <= n; i++) {
                if(f[i] == i){
                    ans++;
                }
            }
            System.out.println(ans-1);
        }
    }
    //合并
    static void merge(int i, int j){
        f[find(i)] = find(j);
    }
    //查找
    static int find(int x){
        return x == f[x] ? x : (f[x] = find(f[x]));
    }
}

2020/9/29 21:11
加载中...