Submission #1307349

#TimeUsernameProblemLanguageResultExecution timeMemory
1307349lucaskojimaCop and Robber (BOI14_coprobber)C++17
16 / 100
218 ms327680 KiB
#include "bits/stdc++.h" #include "coprobber.h" #define sz(x) (int)size(x) #define all(x) begin(x), end(x) #define rall(x) rbegin(x), rend(x) using namespace std; using ll = long long; using pii = pair<int, int>; const char nl = '\n'; const int INF = 0x3f3f3f3f; const ll LINF = 0x3f3f3f3f3f3f3f3f; const int N = 500; vector<int> adj[N]; int n, p = 0, pai[N]; void dfs(int x, int p) { pai[x] = p; for (int k : adj[x]) if (k != p) { dfs(k, x); } } bool find(int x, int t) { if (x == t) return true; bool ok = false; for (int k : adj[x]) if (k != pai[x]) { ok |= find(k, t); } return ok; } int start(int N, bool A[MAX_N][MAX_N]) { n = N; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (A[i][j]) adj[i].push_back(j); dfs(0, -1); return 0; } int nextMove(int R) { for (int k : adj[p]) { if (k == pai[p]) continue; if (find(k, R)) return p = k; } return -1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...