제출 #835750

#제출 시각아이디문제언어결과실행 시간메모리
835750JosiaToy Train (IOI17_train)C++17
0 / 100
2074 ms1744 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> graph; vector<bool> own; vector<bool> station; vector<int> dp; vector<bool> vis; int dfs(int v) { if (station[v]) return dp[v]=1; if (dp[v]!=-1) return dp[v]; if (vis[v]) return dp[v]=0; vis[v] = 1; set<int> poss; for (int i: graph[v]) { poss.insert(dfs(i)); } if (own[v]) { if (poss.count(1)) return dp[v]=1; return dp[v]=0; } if (!own[v]) { if (poss.count(0)) return dp[v]=0; return dp[v]=1; } } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { int n = a.size(); graph.assign(n, vector<int>()); for (int i = 0; i<(int)u.size(); i++) { graph[u[i]].push_back(v[i]); } own.resize(n); station.resize(n); for (int i = 0; i<n; i++) { own[i] = a[i]; station[i] = r[i]; } vector<int> res(n); for (int i = 0; i<n; i++) { vis.assign(n, 0); dp.assign(n, -1); res[i] = dfs(i); } return res; }

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

train.cpp: In function 'int dfs(int)':
train.cpp:22:11: warning: control reaches end of non-void function [-Wreturn-type]
   22 |  set<int> poss;
      |           ^~~~
#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...