제출 #1018309

#제출 시각아이디문제언어결과실행 시간메모리
1018309vjudge1Werewolf (IOI18_werewolf)C++17
0 / 100
4054 ms27004 KiB
#include "werewolf.h"
#include<iostream>
#include<vector>
using namespace std;

vector<int>ad[200001],v(200001);

void dfs1(int u,int l){
    if(u<l||v[u])return;
    v[u]=1;
    for(auto h:ad[u])dfs1(h,l);
}

void dfs2(int u,int r){
    if(r<u||v[u]==2)return;
    v[u]=2;
    for(auto h:ad[u])dfs2(h,r);
}

vector<int>check_validity(int N,vector<int> X,vector<int> Y,
                                vector<int> S,vector<int> E,
                                vector<int> L,vector<int> R) {
    vector<int>A;
    for(int i=0;i<X.size();i++){
        ad[X[i]].push_back(Y[i]);
        ad[Y[i]].push_back(X[i]);
    }
    for(int i=0;i<S.size();i++){
        for(int j=1;j<=N;j++)v[j]=0;
        v[S[i]]=0;
        dfs1(S[i],L[i]);
        for(int j=1;j<=N;j++)
            if(v[j]==1)dfs2(j,R[i]);
        if(v[E[i]]==2)A.push_back(1);
        else A.push_back(0);
    }
    return A;
}

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