dfs WA #13
  • 板块CF1242B 0-1 MST
  • 楼主zjx_kimi
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/8/27 14:50
  • 上次更新2023/11/3 00:54:10
查看原帖
dfs WA #13
648508
zjx_kimi楼主2023/8/27 14:50
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, m, ans, u, v;
set<int> Edge[N], s, t;
vector<int> will;
void dfs(int x) {
    will.clear();
    t.clear();
    for (int i : s) {
        if (!Edge[x].count(i))
            will.push_back(i);
        else 
            t.insert(i);
    }
    s = t;
    for (int i : will) dfs(i);
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> m;
    for (int i(1); i <= m; ++i) {
        cin >> u >> v;
        Edge[u].insert(v);
        Edge[v].insert(u);
    }
    for (int i(1); i <= n; ++i) s.insert(i);
    while (s.size()) {
        ++ans;
        dfs(*s.begin());
    }
    cout << ans - 1;
    return 0;
}
2023/8/27 14:50
加载中...