제출 #134873

#제출 시각아이디문제언어결과실행 시간메모리
134873amiratou장난감 기차 (IOI17_train)C++14
0 / 100
1450 ms1424 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; vector<int> A,R; int n; vector<vector<int> > vec; int vis[5001]; int dfs(int node,int e,int charge){ if(R[node])e=n,charge=1; //cerr<<node<<" "<<e<<"\n"; if(!e)return 0; if(vis[node]!=-1){ if(charge)return 1; else return 0; } vis[node]=e; for(auto child:vec[node]){ int ans=dfs(child,e-1,charge); if(A[node]&&ans==1)return 1; if(!A[node]&&ans==0)return 0; } return !A[node]; } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { //cerr<<"\n----------\n"; A=a,R=r; n=a.size(); vec.resize(a.size()); for (int i = 0; i < u.size(); ++i) vec[u[i]].push_back(v[i]); vector<int> res(n); for (int i = 0; i < n; ++i){ memset(vis,-1,sizeof vis); res[i]=dfs(i,n,0); //cerr<<"\n----------\n"; } return res; }

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

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:32:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < u.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...