제출 #99790

#제출 시각아이디문제언어결과실행 시간메모리
99790MvC장난감 기차 (IOI17_train)C++11
11 / 100
258 ms2040 KiB
#include "train.h" #include<vector> #include<iostream> #include<queue> using namespace std; vector<int>nei[10000]; vector<int>inverse[10000]; int owner[10000]; int n,m; std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { n=a.size();m=u.size(); for(int i=0;i<m;i++){ nei[u[i]].push_back(v[i]); inverse[v[i]].push_back(u[i]); } /*for(int i=0;i<n;i++){cout<<"Nei "<<i<<" : "; for(int j=0;j<nei[i].size();j++)cout<<nei[i][j]<<" "; cout<<endl; }cout<<endl;*/ if(a[0]==1){ queue<int> marcados; bool b[n]; for(int i=0;i<n;i++)b[i]=false; for(int start=0;start<n;start++){ if(r[start]>0){ queue<int> Q; Q.push(start); bool visited[n]; for(int i=0;i<n;i++)visited[i]=false; while(!Q.empty()){ int u=Q.front();Q.pop(); for(int i=0;i<nei[u].size();i++){ int v=nei[u][i]; if(!visited[v]){ visited[v]=true; Q.push(v); } } } b[start]=visited[start]; //for(int i=0;i<inverse[start].size();i++)cout<<visited[inverse[start][i]]; //for(int i=0;i<n;i++)cout<<visited[i]; //cout<<endl; if(visited[start]){ marcados.push(start); } } } while(!marcados.empty()){ int u=marcados.front();marcados.pop(); for(int i=0;i<inverse[u].size();i++){ int v=inverse[u][i]; if(!b[v]){ b[v]=true; marcados.push(v); } } } vector<int> ans; for(int i=0;i<n;i++){ ans.push_back(b[i]); //cout<<b[i]<<endl; } return ans; } }

컴파일 시 표준 에러 (stderr) 메시지

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:34:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<nei[u].size();i++){
                     ~^~~~~~~~~~~~~~
train.cpp:54:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(int i=0;i<inverse[u].size();i++){
                   ~^~~~~~~~~~~~~~~~~~
train.cpp:69:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...