제출 #1208493

#제출 시각아이디문제언어결과실행 시간메모리
1208493Hanksburger장난감 기차 (IOI17_train)C++17
100 / 100
1111 ms1580 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; vector<int> adj[5005], rev[5005]; vector<int> who_wins(vector<int> a, vector<int> r, vector<int> U, vector<int> V) { int n=a.size(); for (int i=0; i<U.size(); i++) { adj[U[i]].push_back(V[i]); rev[V[i]].push_back(U[i]); } vector<int> pre(n, 0); for (int j=0; j<n; j++) { vector<int> cnt(n, 0), ans(n, 0); queue<int> q; for (int i=0; i<n; i++) { if (!r[i]) continue; if (!j) ans[i]=1; else { ans[i]=1-a[i]; for (int v:adj[i]) if (a[i]^pre[v]^1) ans[i]=a[i]; } if (ans[i]) q.push(i); } while (!q.empty()) { int u=q.front(); q.pop(); for (int v:rev[u]) { if (ans[v]) continue; if (a[v] || ++cnt[v]==adj[v].size()) { ans[v]=1; q.push(v); } } } if (j==n-1) return ans; for (int i=0; i<n; i++) pre[i]=ans[i]; } }

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

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:54:1: warning: control reaches end of non-void function [-Wreturn-type]
   54 | }
      | ^
#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...