제출 #1272808

#제출 시각아이디문제언어결과실행 시간메모리
1272808TrinhKhanhDung게임 (IOI14_game)C++20
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define sz(x) (int)x.size() #define ALL(v) v.begin(), v.end() #define MASK(k) (1LL << (k)) #define BIT(x, i) (((x) >> (i)) & 1) #define INF (ll)1e9 #define oo (ll)1e18 #define MOD (ll)(1e9 + 7) #include "game.h" using namespace std; template<class T1, class T2> bool maximize(T1 &a, T2 b){if(a < b){a = b; return true;} return false;} template<class T1, class T2> bool minimize(T1 &a, T2 b){if(a > b){a = b; return true;} return false;} template<class T1, class T2> void add(T1 &a, T2 b){a += b; if(a >= MOD) a -= MOD;} template<class T1, class T2> void sub(T1 &a, T2 b){a -= b; if(a < 0) a += MOD;} template<class T> void cps(T &v){sort(ALL(v)); v.resize(unique(ALL(v)) - v.begin());} void print(vector<pair<int, int>> v){ for(auto x: v) cout << x.first << ' ' << x.second << '\n'; } int fastPow(int a, int n){ int ans = 1; while(n){ if(n & 1) ans = 1LL * ans * a % MOD; a = 1LL * a * a % MOD; n >>= 1; } return ans; } ll solve(){ return 0; } const int MAX = 1503; int n; int par[MAX]; int Sz[MAX]; int cnt[MAX][MAX]; int root(int u){ return u == par[u] ? u : par[u] = root(par[u]); } void initialize(int _n){ n = _n; for(int i = 1; i <= n; i++){ par[i] = i; Sz[i] = 1; } } int hasEdge(int u, int v){ u = root(u); v = root(v); if(Sz[u] * Sz[v] - 1 > cnt[u][v]){ cnt[u][v]++; cnt[v][u]++; return 0; } if(Sz[u] < Sz[v]) swap(u, v); for(int i = 1; i <= n; i++){ int p = root(i); if(p == i && p != u && p != v){ cnt[u][p] += cnt[v][p]; cnt[p][u] += cnt[v][p]; } } Sz[u] += Sz[v]; par[v] = u; return 1; } //int main(){ // ios_base::sync_with_stdio(0); cin.tie(0); // // int t = 1; //// cin >> t; // while(t--){ // solve(); //// cout << solve() << '\n'; // } // // return 0; //}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...