Submission #819713

#TimeUsernameProblemLanguageResultExecution timeMemory
819713TrumlingWerewolf (IOI18_werewolf)C++14
15 / 100
4037 ms21828 KiB
#include "werewolf.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; #define pb push_back #define F first #define S second #define enter cout<<'\n'; #define INF 99999999999999999 #define MOD 1000000007 #define all(x) x.begin(),x.end() vector<int> check_validity(int n, std::vector<int> X, std::vector<int> Y, std::vector<int> S, std::vector<int> E, std::vector<int> L, std::vector<int> R) { int Q = S.size(); ll m=X.size(); vector<vector<int>>g(n); for(int i=0;i<m;i++) { g[X[i]].pb(Y[i]); g[Y[i]].pb(X[i]); } /*enter for(int i=0;i<n;i++) { for(auto r:g[i]) cout<<r<<' '; enter }*/ vector<int>ans; for(int i=0;i<Q;i++) { vector<vector<bool>>vis(2,vector<bool>(n,0)); vis[0][S[i]]=1; set<int>q; q.insert(S[i]); while(!q.empty()) { ll curr=*q.begin(); q.erase(curr); if(curr<=R[i]) vis[1][curr]=1; // cout<<curr<<','; for(auto r:g[curr]) { // cout<<r<<' '; if(vis[0][curr] && !vis[0][r] && r>=L[i]) { vis[0][r]=1; q.insert(r); } if(vis[1][curr] && !vis[1][r] && r<=R[i]) { vis[1][r]=1; q.insert(r); } } // enter } //for(int i=0;i<n;i++) // cout<<vis[0][i]<<' '; // enter // for(int i=0;i<n;i++) // cout<<vis[1][i]<<' '; // enter // enter ans.pb(vis[1][E[i]]); } 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...