Submission #831417

#TimeUsernameProblemLanguageResultExecution timeMemory
831417mousebeaverGame (IOI14_game)C++14
42 / 100
1087 ms3464 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; vector<vector<int>> adjmatrix(0); void initialize(int n) { adjmatrix.assign(n, vector<int> (n, -1)); for(int i = 0; i < n; i++) { adjmatrix[i][i] = 0; } } void dfs(int i, vector<vector<int>>& adjlist, vector<bool>& visited) { visited[i] = true; for(int j : adjlist[i]) { if(!visited[j]) { dfs(j, adjlist, visited); } } } int hasEdge(int u, int v) { int n = adjmatrix.size(); vector<vector<int>> adjlist(n, vector<int> (0)); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { if(adjmatrix[i][j] == 1 || ((min(i, j) != min(u, v) || max(i, j) != max(u, v)) && adjmatrix[i][j] == -1)) { adjlist[i].push_back(j); } } } vector<bool> visited(n, false); dfs(0, adjlist, visited); if(find(visited.begin(), visited.end(), false) != visited.end()) { adjmatrix[u][v] = 1; adjmatrix[v][u] = 1; return 1; } adjmatrix[u][v] = 0; adjmatrix[v][u] = 0; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...