好像洛谷java没有额外的时间空间是吗?

P3367 【模板】并查集

我好菜啊呜呜 @ 2018-11-21 00:12:17

import java.util.Scanner;

public class Main {
    static int[] arr=new int[200005];
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int m=input.nextInt();
        for(int i=1;i<n+1;i++)
            arr[i]=i;
        while(m-->0){
            int act=input.nextInt();
            int a=input.nextInt();
            int b=input.nextInt();
            if(act==2){
                if(find(a)==find(b)) System.out.println("Y");
                else System.out.println("N");
            }
            else if(act==1){
                arr[find(a)]=find(b);
            }

        }

    }

    static int  find(int k){
        if(arr[k]==k) return k;
        else return arr[k]=find(arr[k]);
    }

}

有三个点tle了 原来用c 过过一次 改成java代码只有70分~


by 我好菜啊呜呜 @ 2018-11-21 00:12:40

如果使用输入输出挂会不会好点呢?


by 我好菜啊呜呜 @ 2018-11-21 00:19:35

使用了输入输出挂成功ac···讨论终结


by 已注销%Jm9VScx @ 2018-11-21 05:45:52

并茂终结


|