제출 #434258

#제출 시각아이디문제언어결과실행 시간메모리
434258Monchito장난감 기차 (IOI17_train)C++14
5 / 100
2076 ms1356 KiB
#include "train.h" #include <algorithm> using namespace std; const int MAXN = 5e3; int n, m; int G[MAXN]; bool vis[MAXN]; void DFS(int u, int& ret, vector<int>& r) { vis[u] = true; if(G[u] == u) { ret = (r[u]==1)? 1 : 0; return; } DFS(G[u], ret, r); } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { n = (int)a.size(); m = (int)u.size(); vector<vector<int>> graph(n); vector<pair<int,int>> edges(m); for(int i=0; i<m; i++) edges[i] = make_pair(u[i], v[i]); sort(edges.begin(), edges.end()); for(int i=0; i<m; i++) graph[edges[i].first].push_back(edges[i].second); for(int i=0; i<n; i++) { if((int)graph[i].size() == 1) { G[i] = graph[i][0]; continue; } if(a[i] == 1) (r[i]==1)? G[i] = graph[i][0] : G[i] = graph[i][1]; else (r[i]==1)? G[i] = graph[i][1] : G[i] = graph[i][0]; } int current; vector<int> ans(n); for(int i=0; i<n; i++) { if(!vis[i]) { DFS(i, current, r); } ans[i] = current; } 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:52:16: warning: 'current' may be used uninitialized in this function [-Wmaybe-uninitialized]
   52 |         ans[i] = current;
#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...