社区讨论

求助RE(JAVA)

P3366【模板】最小生成树参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mj5iyyjl
此快照首次捕获于
2025/12/14 17:31
3 个月前
此快照最后确认于
2025/12/17 20:30
3 个月前
查看原帖
为什么会RE
JAVA
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    int n, m;
    int[] f = new int[5005];
    int[][] e = new int[100005][3];
    public int findx(int x) {
        if(x == f[x]) return x;
        f[x] = findx(f[x]);
        return f[x];
    }
    public void main() {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        m = sc.nextInt();
        for(int i = 1; i <= n; ++i) f[i] = i;
        for(int i = 1; i <= m; ++i) {
            e[i][0] = sc.nextInt();
            e[i][1] = sc.nextInt();
            e[i][2] = sc.nextInt();
        }
        Arrays.sort(e, 1, m + 1, (x, y) -> x[2] - y[2]);
        int cnt = 0, ans = 0;
        for(int i = 1; i <= m; ++i) {
            int u = findx(e[i][0]);
            int v = findx(e[i][1]);
            if(u != v) {
                f[u] = v;
                ans += e[i][2];
                ++cnt;
                if(cnt == n - 1) break;
            }
        }
        if(cnt == n - 1) System.out.println(ans);
        else System.out.println("orz");
    }
}

回复

2 条回复,欢迎继续交流。

正在加载回复...