제출 #1198378

#제출 시각아이디문제언어결과실행 시간메모리
1198378SofiatpcGame (IOI14_game)C++20
42 / 100
1096 ms12868 KiB
#include "game.h"
#include <bits/stdc++.h>

using namespace std;

set<int> adj[1505];
int marc[1505], tot;

void initialize(int n) {
    tot = n;
    for(int i = 0; i < n; i++)
        for(int j = i+1; j < n; j++){
            adj[i].insert(j);
            adj[j].insert(i);
        }
}

void dfs(int s){
    marc[s] = 1;
    for(int viz : adj[s])
        if(!marc[viz])dfs(viz);
}

int hasEdge(int u, int v) {
    adj[u].erase(v);
    adj[v].erase(u);
    for(int i = 0; i < tot; i++)marc[i] = 0;

    dfs(1);

    int ans = 0;
    for(int i = 0; i < tot; i++)
        if(!marc[i]){ans = 1; break;}

    if(ans){
        adj[u].insert(v);
        adj[v].insert(u);
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...