Submission #1272808

#TimeUsernameProblemLanguageResultExecution timeMemory
1272808TrinhKhanhDungGame (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...