제출 #772224

#제출 시각아이디문제언어결과실행 시간메모리
772224I_Love_EliskaM_늑대인간 (IOI18_werewolf)C++14
15 / 100
282 ms13200 KiB
#include "werewolf.h" #include <bits/stdc++.h> using namespace std; #define forn(i,n) for(int i=0;i<n;++i) #define pb push_back vector<int> p1(int n, vector<int>x, vector<int>y, vector<int>s, vector<int>e, vector<int>L, vector<int>R) { int m=x.size(), Q=L.size(); vector<int> ok(n,0), vis(n,0); vector<vector<int>> adj(n); forn(i,m) { int u=x[i], v=y[i]; adj[u].pb(v); adj[v].pb(u); } vector<int> ans(Q); forn(it,Q) { int l=L[it], r=R[it]; queue<int> q; q.push(s[it]); while (q.size()) { auto u=q.front(); q.pop(); if (u<l) continue; if (vis[u]) continue; vis[u]=1; if (l<=u && u<=r) ok[u]=1; for(auto&v:adj[u]) q.push(v); } forn(i,n) vis[i]=0; forn(i,n) if (ok[i]) q.push(i); while (q.size()) { auto u=q.front(); q.pop(); if (u>r) continue; if (vis[u]) continue; vis[u]=1; for(auto&v:adj[u]) q.push(v); } ans[it]=vis[e[it]]; forn(i,n) vis[i]=ok[i]=0; } return ans; } 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 m=x.size(), q=l.size(); if (max(m,q)<=6000) { return p1(n,x,y,s,e,l,r); } return vector<int>(q,0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...