Submission #895400

#TimeUsernameProblemLanguageResultExecution timeMemory
895400SalihSahin게임 (IOI14_game)C++14
42 / 100
1073 ms1628 KiB
#include<bits/stdc++.h> #define pb push_back #define mp make_pair using namespace std; #include "game.h" int N; vector<vector<int> > adj; vector<int> vis; void dfs(int node){ vis[node] = 1; for(int i = 0; i < N; i++){ if(!vis[i] && adj[node][i]){ dfs(i); } } } void initialize(int n){ N = n; vector<int> v; v.assign(n, 1); for(int i = 0; i < n; i++){ adj.pb(v); } vis.assign(n, 0); } int hasEdge(int u, int v) { adj[u][v] = 0; adj[v][u] = 0; dfs(u); int cnt = 0; for(int i = 0; i < N; i++){ if(vis[i]) cnt++; vis[i] = 0; } if(cnt != N){ adj[u][v] = adj[v][u] = 1; return 1; } else{ return 0; } } /* int read_int() { int x; assert(scanf("%d", &x) == 1); return x; } int main() { int n, u, v; n = read_int(); initialize(n); for (int i = 0; i < n * (n - 1) / 2; i++) { u = read_int(); v = read_int(); printf("%d\n", hasEdge(u, v)); } return 0; } */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...