文章

166

粉丝

68

获赞

787

访问

45.6k

头像
欧拉回路 题解:连通且度数均为偶数
P1309 浙江大学机试题
发布于2025年3月18日 12:12
阅读数 129

#include <bits/stdc++.h>
using namespace std;

const int MAXN = 1000; // 最大节点数

// 并查集数据结构,用于判断图是否连通
struct UnionFind {
    int parent[MAXN];

    // 初始化
    void init(int n) {
        for (int i = 1; i <= n; i++) {
            parent[i] = i;
        }
    }

    // 查找根节点
    int find(int x) {
        if (parent[x] != x) {
            parent[x] = find(parent[x]); // 路径压缩
        }
        return parent[x];
    }

    // 合并两个集合
    void unite(int x, int y) {
        int rootX = find(x);
        int rootY = find(y);
        if (rootX != rootY) {
            parent[rootY] = rootX; // 将 y 的根节点指向 x 的根节点
        }
    }

    // 判断是否连通
    bool isConnected(int n) {
        int root = find(1); // 以节点1为基准
        for (int i = 2; i <= n; i++) {
            if (find(i) != root) {
                return false;
            }
        }
        return true;
    }
};

int main() {
    int N, M;
    while (cin >> N && N != 0)...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发