제출 #1274663

#제출 시각아이디문제언어결과실행 시간메모리
1274663quanduongxuan12게임 (IOI14_game)C++20
0 / 100
2 ms348 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
#define name "game"
#define MAXN 1503
#define pb push_back
#define pf push_front
#define ll long long
#define ii pair<int, int>
#define fs first
#define sc second
#define ill pair<int, ll>
#define lli pair<ll, int>
#define llll pair<ll, ll>
#define all(v) v.begin(),v.end()
#define uni(v) v.erase(unique(all(v)),v.end())
#define bit(n,i) (((n)>>(i))&1)
#define FOR(i,a,b) for (int i=(a),_b=(b); i<=_b; i++)
#define FORD(i,a,b) for (int i=(a),_b=(b); i>=_b; i--)
#define MASK(i) (1LL<<(i))
const int INF=1e9;
const int MOD=1e9+7;
void add(int &u, int v){
    u+=v;
    if (u>=MOD) u-=MOD;
}
void sub(int &u, int v){
    u-=v;
    if (u<0) u+=MOD;
}
void minimize(int &u, int v){
    u=min(u,v);
}
void maximize(int &u, int v){
    u=max(u,v);
}
long long Rand(long long l, long long r){
    ll tmp=0;
    FOR(i,1,4) tmp=((tmp<<15)^(((1<<15)-1)&rand()));
    return l+tmp%(r-l+1);
}
set<int> se[MAXN];
void initialize(int n){
    FOR(i,0,n-1) FOR(j,0,n-1) if (i!=j) se[i].insert(j);
}
int hasEdge(int u, int v){
    bool ok1=0,ok2=0;
    auto it=se[u].find(v);
    if (it!=se[u].end()){
        ok1=1;
        se[u].erase(it);
    }
    it=se[v].find(u);
    if (it!=se[v].end()){
        ok2=1;
        se[v].erase(it);
    }
    int res=0;
    if ((ok1&&se[u].size()==0)||(ok2&&se[v].size()==0)) res=1;
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...