Submission #1238404

#TimeUsernameProblemLanguageResultExecution timeMemory
1238404noyancanturkWerewolf (IOI18_werewolf)C++20
15 / 100
4091 ms26200 KiB
#include "werewolf.h" #include<bits/stdc++.h> using namespace std; #define pb push_back using pii=pair<int,int>; const int lim=2e5+100; vector<int>v[lim]; int vis1[lim],vis2[lim]; void dfs1(int node,int nope){ vis1[node]=1; for(int j:v[node]){ if(j<nope||vis1[j])continue; dfs1(j,nope); } } void dfs2(int node,int nope){ vis2[node]=1; for(int j:v[node]){ if(nope<j||vis2[j])continue; dfs2(j,nope); } } 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(); int q=s.size(); for(int i=0;i<m;i++){ v[X[i]].pb(Y[i]); v[Y[i]].pb(X[i]); } vector<int>ans(q); for(int i=0;i<q;i++){ for(int j=0;j<n;j++){ vis1[j]=vis2[j]=0; } dfs1(s[i],L[i]); dfs2(e[i],R[i]); for(int j=0;j<n;j++){ ans[i]|=vis1[j]&&vis2[j]; } } return ans; } // std::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(); // std::vector<int> A(Q); // for (int i = 0; i < Q; ++i) { // A[i] = 0; // } // 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...