Submission #30720

#TimeUsernameProblemLanguageResultExecution timeMemory
30720RayaBurong25_1Bosses (BOI16_bosses)C++14
0 / 100
0 ms1308 KiB
#include <stdio.h> #include <vector> #define INF 1000000000000000000LL std::vector<int> AdjList[5005]; long long min(long long a, long long b) { return (a < b)?a:b; } int Vis[5005]; int cnt, sz; long long sum; long long DFS(int u, int pa) { // printf("DFS %d %d\n", u, pa); Vis[u] = cnt; sz++; int i, v, s = AdjList[u].size(); long long r = 0; for (i = 0; i < s; i++) { v = AdjList[u][i]; if (Vis[v] < cnt) { r += DFS(v, u); } } r++; sum += r; return r; } int main() { int N; scanf("%d", &N); int i, j, K; int p; for (i = 1; i <= N; i++) { scanf("%d", &K); for (j = 0; j < K; j++) { scanf("%d", &p); AdjList[p].push_back(i); } } long long Ans = INF; long long r; for (i = 1; i <= N; i++) { // printf("Root %d\n", i); cnt++; sz = 0; sum = 0; DFS(i, 0); // printf("%lld\n", sum); if (sz == N) Ans = min(Ans, sum); } printf("%lld", Ans); }

Compilation message (stderr)

bosses.cpp: In function 'int main()':
bosses.cpp:47:15: warning: unused variable 'r' [-Wunused-variable]
     long long r;
               ^
bosses.cpp:34:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &N);
                    ^
bosses.cpp:39:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &K);
                        ^
bosses.cpp:42:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", &p);
                            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...