제출 #500164

#제출 시각아이디문제언어결과실행 시간메모리
500164aymanrs늑대인간 (IOI18_werewolf)C++14
15 / 100
4040 ms34692 KiB
#include <bits/stdc++.h> #include "werewolf.h" using namespace std; struct node { int id; list<node*> l; bool v; }; vector<node> g; void wolf(node*n, int r, bool w[]){ w[n->id] = true; for(node* c : n->l){ if(!w[c->id] && c->id <= r) wolf(c, r, w); } } bool human(node* n, int l, bool w[], int r){ n->v = true; for(node* c : n->l){ if(w[c->id] && (c->id >= l || n->id <= r)) return true; if(!c->v && c->id >= l && human(c, l, w, r)) return true; } return false; } vector<int> check_validity(int N, vector<int> X, vector<int> Y, vector<int> S, vector<int> E, vector<int> L, vector<int> R){ g.resize(N); for(int i = 0;i < N;i++) g[i].id=i; for(int i = 0;i < X.size();i++){ g[X[i]].l.push_back(&g[Y[i]]); g[Y[i]].l.push_back(&g[X[i]]); } vector<int> ans(S.size(), 0); for(int i = 0;i < S.size();i++){ for(int j = 0;j < N;j++) g[j].v = false; bool w[N] = {false}; wolf(&g[E[i]], R[i], w); if(human(&g[S[i]], L[i], w, R[i])) ans[i] = 1; } return ans; }

컴파일 시 표준 에러 (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:27:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     for(int i = 0;i < X.size();i++){
      |                   ~~^~~~~~~~~~
werewolf.cpp:32:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     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...