제출 #581362

#제출 시각아이디문제언어결과실행 시간메모리
581362jasmin게임 (IOI14_game)C++17
0 / 100
1 ms212 KiB
#include<bits/stdc++.h> #include<game.h> using namespace std; #define int long long vector<int> chef; vector<int> s; vector<int> con; int n; int find(int a){ if(chef[a]==a) return a; return chef[a]=find(chef[a]); } void unite(int a, int b){ assert(find(a)!=find(b)); s[find(a)]+=s[find(b)]; con[find(a)]+=con[find(b)]; chef[find(b)]=find(a); } void initialize(int32_t a){ n=a; chef.assign(n, 0); iota(chef.begin(), chef.end(), 0); s.assign(n, 1); con.assign(n, 0); } int32_t hasEdge(int32_t u, int32_t v){ assert(find(u)!=find(v)); con[find(u)]++; con[find(v)]++; if(con[find(u)]==s[find(u)]*(n-1)){ unite(u, v); return 1; } else if(con[find(v)]==s[find(v)]*(n-1)){ unite(u, v); return 1; } return 0; } /*signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; initialize(n); for(int i=0; i<(n*(n-1))/2; i++){ int a, b; cin >> a >> b; cout << hasEdge(a, b) << "\n" << flush; } }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...