제출 #1338339

#제출 시각아이디문제언어결과실행 시간메모리
1338339orgiloogiiBosses (BOI16_bosses)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
#define int long long
#define ff first
#define ss second
using namespace std;
vector <vector <int>> adj1;
int salar[5001];
vector <int> vis;
int dfs(int u) {
    for (auto v : adj1[u]) {
        if (vis[v] == true) continue;
        vis[v] = true;
        int x = dfs(v);
        salar[u] += x;
    }
    return salar[u];
}
signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int n;
    cin >> n;
    adj1.assign(n + 1, {});
    for (int i = 1;i <= n;i++) {
        int k;
        cin >> k;
        for (int j = 0;j < k;j++) {
            int x;
            cin >> x;
            adj1[x].push_back(i);
        }
    }   
    int ans = INT_MAX;
    for (int i = 1;i <= n;i++) {
        queue <int> q;
        q.push(i);
        vis.assign(n + 1, 0);
        vis[i] = 1;
        for (int i = 1;i <= n;i++) {
            salar[i] = 1;
        }
        dfs(i);
        int sum = 0;
        for (int i = 1;i <= n;i++) {
            sum += salar[i];
            // cout << salar[i] << " ";
        }
        // cout << endl;
        // cout << sum << endl;
        ans = min(ans, sum);
    }
    cout << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...