题解:AT_abc393_c [ABC393C] Make it Simple

· · 题解

简单模拟题。

题目要求无重边无自环,那么不妨用 map 记录当前哪些点之间有连边,对于给定的每条边 xy,如果 x,y 之间本身就有连边或者 x=y 则这条边不能用。

Code

#include <bits/stdc++.h>
using namespace std;
map<int, int>q[200005];

int main() {
    int n, m;
    cin >> n >> m;
    int ans = 0;
    for (int i = 1; i <= m; i++) {
        int u, v;
        cin >> u >> v;
        if (q[u][v] || u == v)
            ans++;
        q[u][v] = q[v][u] = 1;
    }
    cout << ans;
}