Submission #895397

#TimeUsernameProblemLanguageResultExecution timeMemory
895397SalihSahinGame (IOI14_game)C++14
0 / 100
0 ms348 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 = 1; i <= N; i++){ if(!vis[i] && adj[node][i]){ dfs(i); } } } void initialize(int n){ N = n; vector<int> v; v.assign(n+1, 0); for(int i = 0; i <= n; i++){ adj.pb(v); } vis.assign(n+1, 0); } int hasEdge(int u, int v) { adj[u][v] = 0; adj[v][u] = 0; dfs(u); int cnt = 0; for(int i = 1; i <= N; i++){ if(vis[i]) cnt++; vis[i] = 0; } if(cnt != N){ return 1; } else{ adj[u][v] = adj[v][u] = 1; 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...