제출 #257000

#제출 시각아이디문제언어결과실행 시간메모리
257000BertedBosses (BOI16_bosses)C++14
100 / 100
778 ms656 KiB
#include <iostream> #include <queue> #include <vector> #define vi vector<int> #define pii pair<int, int> #define fst first #define snd second const int INF = 1e9; using namespace std; int n, dst[5001]; queue<int> q; int res = INF; vi adj[5001]; inline int retAns(int s) { int ans = 1; for (int i = 0; i < n; i++) {dst[i] = INF;} q.push(s); dst[s] = 1; while (q.size()) { int u = q.front(); q.pop(); for (auto v : adj[u]) { if (dst[v] == INF) { dst[v] = dst[u] + 1; ans += dst[v]; q.push(v); } } } for (int i = 0; i < n; i++) { if (dst[i] == INF) return INF; } return ans; } int main() { cin >> n; for (int i = 0; i < n; i++) { int k; cin >> k; for (int j = 0; j < k; j++) { int x; cin >> x; adj[x - 1].push_back(i); } } for (int i = 0; i < n; i++) { res = min(res, retAns(i)); } cout << res << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...