Submission #946727

#TimeUsernameProblemLanguageResultExecution timeMemory
946727irmuunGame (IOI14_game)C++17
42 / 100
1024 ms12888 KiB
#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

int N;
set<int>adj[1500];
vector<bool>used(1500,0);
void dfs(int u){
    used[u]=true;
    for(auto v:adj[u]){
        if(!used[v]){
            dfs(v);
        }
    }
}

void initialize(int n){
    N=n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(i!=j){
                adj[i].insert(j);
            }
        }
    }
}
int hasEdge(int u, int v){
    fill(all(used),0);
    adj[v].erase(u);
    adj[u].erase(v);
    dfs(0);
    for(int i=0;i<N;i++){
        if(!used[i]){
            adj[u].insert(v);
            adj[v].insert(u);
            return 1;
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...