제출 #79517

#제출 시각아이디문제언어결과실행 시간메모리
79517IOrtroiiiBosses (BOI16_bosses)C++14
67 / 100
1568 ms1232 KiB
#include <bits/stdc++.h> using namespace std; const int N = 5005; int n; vector<int> g[N]; vector<int> new_g[N]; bool visit[N]; long long F[N]; void dfs(int u) { F[u] = 1; for (int v : new_g[u]) { dfs(v); F[u] += F[v]; } } long long bfs(int root) { for (int i = 1; i <= n; ++i) { visit[i] = 0; new_g[i].clear(); } queue<int> q; visit[root] = 1; q.push(root); while (!q.empty()) { int u = q.front(); q.pop(); for (int v : g[u]) { if (!visit[v]) { new_g[u].push_back(v); q.push(v); visit[v] = 1; } } } if (accumulate(visit + 1, visit + 1 + n, 0) != n) return 1e18; dfs(root); return accumulate(F + 1, F + n + 1, 0LL); } int main() { scanf("%d", &n); for (int i = 1; i <= n; ++i) { int x; scanf("%d", &x); while (x--) { int u; scanf("%d", &u); g[u].push_back(i); } } long long res = 1e18; for (int i = 1; i <= n; ++i) res = min(res, bfs(i)); cout << res << '\n'; }

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

bosses.cpp: In function 'int main()':
bosses.cpp:44:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d", &n);
    ~~~~~^~~~~~~~~~
bosses.cpp:46:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       int x; scanf("%d", &x);
              ~~~~~^~~~~~~~~~
bosses.cpp:48:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
          int u; scanf("%d", &u);
                 ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...