Submission #767620

#TimeUsernameProblemLanguageResultExecution timeMemory
7676201neBosses (BOI16_bosses)C++14
67 / 100
1580 ms900 KiB
/* * author : Apiram * created: 27.06.2023 03:25:28 */ #include<bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n;cin>>n; vector<vector<int>>adj(n); for (int i = 0;i<n;++i){ int k;cin>>k; for (int j = 0;j<k;++j){ int x;cin>>x; --x; adj[x].push_back(i); } } int pos = 1e9; vector<vector<int>>nx; function<pair<int,int>(int)>dfs = [&](int u){ pair<int,int> v = {1,0}; for (auto x:nx[u]){ auto vv = dfs(x); v.first+=vv.first; v.second+=vv.second; } v.second+=v.first; return v; }; for (int i = 0;i<n;++i){ nx.clear(); nx.resize(n); queue<int>q; int curv = 1; vector<int>visited(n,false); visited[i] = true; q.push(i); while(!q.empty()){ auto u = q.front(); q.pop(); for (const int &x:adj[u]){ if (!visited[x]){ visited[x] = true; nx[u].push_back(x); q.push(x); curv++; } } } if (curv == n){ pos = min(pos,dfs(i).second); } } cout<<pos<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...