Submission #294611

#TimeUsernameProblemLanguageResultExecution timeMemory
294611AutoratchWerewolf (IOI18_werewolf)C++14
15 / 100
4038 ms35504 KiB
#include "werewolf.h" #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 1; int n,m,q,mn,mx; vector<int> adj[N]; bool visited[N]; int val[N]; void dfs(int u) { if(visited[u]) return; val[u]++; visited[u] = true; for(int v : adj[u]) if(v>=mn and v<=mx) dfs(v); } vector<int> check_validity(int _n,vector<int> x,vector<int> y,vector<int> s,vector<int> e,vector<int> l,vector<int> r) { n = _n,m = x.size(),q = s.size(); for(int i = 0;i < m;i++) { int a = x[i],b = y[i]; adj[a].push_back(b); adj[b].push_back(a); } vector<int> ans; for(int i = 0;i < q;i++) { mn = l[i],mx = n-1; for(int j = 0;j < n;j++) visited[j] = false,val[j] = 0; dfs(s[i]); mn = 0,mx = r[i]; for(int j = 0;j < n;j++) visited[j] = false; dfs(e[i]); bool ok = false; for(int j = 0;j < n;j++) if(val[j]==2) ok = true; ans.push_back(ok); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...