Submission #289661

#TimeUsernameProblemLanguageResultExecution timeMemory
289661DanerZein늑대인간 (IOI18_werewolf)C++14
0 / 100
4075 ms38196 KiB
#include "werewolf.h"
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
int l,r;
bitset<200010> vh,vw;
vector<vi> G;
set<int> h,w;
void dfs_human(int u){
  if(u<l) return;
  vh[u]=1;
  h.insert(u);
  for(auto &v:G[u]){
    if(!vh[v]){
      dfs_human(v);
    }
  }
  vh[u]=0;
}
void dfs_wolf(int u){
  if(u>r) return;
  vw[u]=1;
  w.insert(u);
  for(auto &v:G[u]){
    if(!vw[v]){
      dfs_wolf(v);
    }
  }
  vw[u]=0;
}
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) {
  G.resize(N+1);
  for(int i=0;i<X.size();i++){
    int u=X[i],v=Y[i];
    G[u].push_back(v);
    G[v].push_back(u);
  }
  vector<int> res;
  for(int i=0;i<S.size();i++){
    h.clear();
    w.clear();
    l=L[i];
    r=R[i];
    dfs_human(S[i]);
    dfs_wolf(E[i]);
    bool sw=0;
    for(auto &v:h){
      if(binary_search(w.begin(),w.end(),v)){
	sw=1;
	break;
      }
    }
    res.push_back(sw);
  }
  return res;
}

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:35:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |   for(int i=0;i<X.size();i++){
      |               ~^~~~~~~~~
werewolf.cpp:41:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |   for(int i=0;i<S.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...