Submission #381213

#TimeUsernameProblemLanguageResultExecution timeMemory
381213Pichon5Werewolf (IOI18_werewolf)C++17
0 / 100
4094 ms29788 KiB
#include "werewolf.h" #include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair using namespace std; vector<vi>G; vector<pair<int,int> >color;//1 es que se vuelve wolf vector<bool>vis1,vis2; void dfs1(int nodo, int L){ vis1[nodo]=true; for(auto it : G[nodo]){ if(vis1[it]==false && it>=L){ dfs1(it,L); } } } void dfs2(int nodo,int R){ vis2[nodo]=true; for(auto it : G[nodo]){ if(vis2[it]==false && it<=R){ dfs2(it,R); } } } vi check_validity(int N,vi X,vi Y,vi S,vi E,vi L,vi R) { //N number of cities //X ^ Y roads //S ^ E start and end //avoid 0,1...L-1 in human form //avoid R+1,R+2...N-1 in wolf form int Q = S.size(); vi res; int n=N; G.assign(n+1,vi()); for(int i=0;i<X.size();i++){ G[X[i]].pb(Y[i]); G[Y[i]].pb(X[i]); } for(int i=0;i<Q;i++){ int a=S[i],b=E[i]; int ok=0; /*if(a<=L[i]-1 or b>=R[i]+1){ res.pb(0); continue; }*/ vis2.assign(n+1,false); vis1.assign(n+1,false); dfs1(a,L[i]);dfs2(b,R[i]); for(int l=L[i];l<=R[l];l++){ if(vis1[l]==vis2[l] && vis1[l]==1){ ok=1;break; } } res.pb(ok); } return res; } /* 6 6 3 5 1 1 2 1 3 3 4 3 0 5 2 4 2 1 2 4 2 2 2 5 4 3 4 */

Compilation message (stderr)

werewolf.cpp: In function 'std::vector<int> check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
werewolf.cpp:42:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for(int i=0;i<X.size();i++){
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...