Friend Suggestions
問題
D – Friend Suggestions
プログラミング初級者から上級者まで楽しめる、競技プログラミングコンテストサイト「AtCoder」。オンラインで毎週開催プログラミングコンテストを開催しています。競技…
記録
- 2022/3/15 解法わからず。
解法
- (解法はあとで書く。)
コード例
コード例1
< は < に変更する。
#include <bits/stdc++.h> using namespace std; #include <atcoder/all> using namespace atcoder; using ll = long long; using P = pair<int, int>; #define rep(i, n) for(int i = 0; i < (n); ++i) // using mint = modint998244353; // using mint = modint1000000007; // const int mod = 1000000007; // const ll INF = 1LL << 62; // const int INF = 1001001001; int main() { int N, M, K; cin >> N >> M >> K; dsu uf(N); vector<int> friends(N); vector<vector<int>> blocks(N); rep(i, M) { int A, B; cin >> A >> B; A–; B–; friends[A]++; friends[B]++; uf.merge(A, B); } rep(i, K) { int C, D; cin >> C >> D; C–; D–; blocks[C].push_back(D); blocks[D].push_back(C); } rep(i, N) { int ans = uf.size(i) – friends[i] – 1; for(auto j : blocks[i]) { if(uf.same(i, j)) { ans–; } } cout << ans << ” “; } cout << endl; return 0; }