Submission #813592

#TimeUsernameProblemLanguageResultExecution timeMemory
813592LiudasGame (IOI14_game)C++17
42 / 100
1081 ms2568 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; static const int buf_size = 4096; vector<vector<int>> tree; int s; void initialize(int N){ tree.assign(N, vector<int>()); s = N; for(int i = 0; i < N; i ++){ for(int j = i + 1; j < N; j ++){ tree[i].push_back(j); tree[j].push_back(i); } } } void dfs(int head, vector<vector<int>> &tree, vector<bool> &vis, int &c){ c ++; vis[head] = true; for(int i : tree[head]){ if(!vis[i]){ dfs(i, tree, vis, c); } } } int hasEdge(int u, int v){ tree[u].erase(find(tree[u].begin(), tree[u].end(), v)); tree[v].erase(find(tree[v].begin(), tree[v].end(), u)); vector<bool> vis(s, false); int c = 0; dfs(0, tree, vis, c); if(c == s){ return 0; } else{ tree[u].push_back(v); tree[v].push_back(u); return 1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...