# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
760696 | raysh07 | Werewolf (IOI18_werewolf) | C++17 | 4011 ms | 29812 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "werewolf.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> check_validity(int n, vector<int> x, vector<int> y,
vector<int> s, vector<int> e,
vector<int> l, vector<int> r) {
int q = s.size();
vector<int> ans(q, 0);
vector<vector<int>> adj(n);
for (int i = 0; i < x.size(); i++) {
adj[x[i]].push_back(y[i]);
adj[y[i]].push_back(x[i]);
}
for (int i = 0; i < q; i++){
vector <bool> vis(n, 0);
queue <int> q;
vis[s[i]] = true;
q.push(s[i]);
while (!q.empty()){
int u = q.front(); q.pop();
for (int v : adj[u]){
if (v < l[i] && u > r[i]) continue;
if (v > r[i] && u < l[i]) continue;
if (vis[v]) continue;
vis[v] = true;
q.push(v);
}
}
if (vis[e[i]]) ans[i] = 1;
else ans[i] = 0;
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |