Submission #1342157

#TimeUsernameProblemLanguageResultExecution timeMemory
1342157po_rag526게임 (IOI14_game)C++20
42 / 100
1095 ms2532 KiB
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

vector<vector<int>> a;
//aa

void initialize(int n){
    a.resize(n);
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            if(j == i) continue;
            a[i].push_back(j);
        }
    }
}

void dfs(int v, vector<bool>& vis){
    vis[v] = true;

    for(int i = 0; i < a[v].size(); i++){
        if(!vis[a[v][i]]) dfs(a[v][i], vis);
    }
}

int hasEdge(int u, int v){
    for(int i = 0; i < a[u].size(); i++){
        if(a[u][i] == v) a[u].erase(a[u].begin()+i);
    }
    for(int i = 0; i < a[v].size(); i++){
        if(a[v][i] == u) a[v].erase(a[v].begin()+i);
    }

    vector<bool> vis(a.size(), false);
    dfs(0, vis);

    bool t = false;
    for(int i = 0; i < a.size(); i++){
        if(!vis[i]) t = true;
    }

    if(t){
        a[u].push_back(v);
        a[v].push_back(u);
        return 1;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...