Submission #1195834

#TimeUsernameProblemLanguageResultExecution timeMemory
1195834clementine늑대인간 (IOI18_werewolf)C++20
0 / 100
2411 ms25664 KiB
#include "werewolf.h" #include<bits/stdc++.h> using namespace std; vector<int> graph[200005]; bool visited[200005]; bool result = false; void humanspan(int u, int l) { visited[u] = true; for(auto v: graph[u]) { if(!visited[v] && v >= l) { humanspan(v, l); } } } void wolfspan(int u, int l, int r) { visited[u] = true; for(auto v: graph[u]) { if(visited[v] && v <=r && v >=l) { result = true; return; } if(!visited[v] && v <=r) { wolfspan(v, l, r); } } } int solve(int n, int s, int e, int l, int r) { result = false; for(int i = 0; i < n; i ++) { visited[i] = false; } humanspan(s, l); wolfspan(e, l, r); return result; } 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> A(Q); for(int i = 0; i < X.size(); i ++) { graph[X[i]].push_back(Y[i]); graph[Y[i]].push_back(X[i]); } for(int i = 0; i < Q; i ++) { A[i] = solve(N, S[i], E[i], L[i], R[i]); } return A; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...