제출 #976658

#제출 시각아이디문제언어결과실행 시간메모리
976658irmuun늑대인간 (IOI18_werewolf)C++17
15 / 100
4030 ms30236 KiB
#include<bits/stdc++.h>
#include "werewolf.h"

using namespace std;

#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

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 Q=S.size();
    vector<int>can(Q,0);
    vector<int>adj[N];
    for(int i=0;i<X.size();i++){
        adj[X[i]].pb(Y[i]);
        adj[Y[i]].pb(X[i]);
    }
    vector<bool>human(N),wolf(N);
    for(int i=0;i<Q;i++){
        int s=S[i],e=E[i],l=L[i],r=R[i];
        fill(all(human),0);
        fill(all(wolf),0);
        if(s<l){
            break;
        }
        human[s]=true;
        queue<int>q;
        q.push(s);
        while(!q.empty()){
            int x=q.front();
            q.pop();
            for(int y:adj[x]){
                if(y>=l&&!human[y]){
                    human[y]=true;
                    q.push(y);
                }
            }
        }
        for(int j=l;j<=r;j++){
            if(human[j]){
                wolf[j]=true;
                q.push(j);
            }
        }
        while(!q.empty()){
            int x=q.front();
            q.pop();
            for(int y:adj[x]){
                if(y<=r&&!wolf[y]){
                    wolf[y]=true;
                    q.push(y);
                }
            }
        }
        if(wolf[e]) can[i]=1;
    }
    return can;
}

컴파일 시 표준 에러 (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:17:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     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...