# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1009276 | HappyCapybara | 늑대인간 (IOI18_werewolf) | C++17 | 4067 ms | 31100 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){
vector<vector<int>> g(N);
for (int i=0; i<X.size(); i++){
g[X[i]].push_back(Y[i]);
g[Y[i]].push_back(X[i]);
}
vector<int> A(S.size(), 0);
for (int i=0; i<S.size(); i++){
vector<bool> seen(N, false);
queue<int> q;
q.push(S[i]);
unordered_set<int> reach;
while (!q.empty()){
int cur = q.front();
q.pop();
if (seen[cur]) continue;
if (cur < L[i]) continue;
seen[cur] = true;
reach.insert(cur);
for (int next : g[cur]) q.push(next);
}
for (int j=0; j<seen.size(); j++) seen[j] = false;
q.push(E[i]);
while (!q.empty()){
int cur = q.front();
q.pop();
if (seen[cur]) continue;
if (cur > R[i]) continue;
seen[cur] = true;
if (reach.find(cur) != reach.end()){
A[i] = 1;
break;
}
for (int next : g[cur]) q.push(next);
}
}
return A;
}
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... |