Submission #1242495

#TimeUsernameProblemLanguageResultExecution timeMemory
1242495coderpemulaBosses (BOI16_bosses)C++20
100 / 100
663 ms1028 KiB
// +-- -- --++-- +-In the name of ALLAH-+ --++-- -- --+ \\ /* Some Makoto Shinkai's : “Who cares if we can't see any sunshine? I want you more than any blue sky!!!” - Tenki no Ko "By the time the date is over, the comet will be visible in the sky." - Kimi no Nawa “No matter what happens, even if the stars fall, I will live.” - Byōsoku 5 Centimeter */ #include <bits/stdc++.h> #define Raveluk ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define ld long double #define pb push_back #define fi first #define se second #define pii pair<int,int> #define tii tuple<int,int,int> #define g1 get<0> #define g2 get<1> #define g3 get<2> #define qf q.front() #define all(x) (x).begin(), (x).end() using namespace std; #define int long long vector<int>v[5001],w[5001]; bool vis[5001]; int tem; queue<int>q; int dfs(int node, int par){ if(w[node].empty()) return 1; ll temp = 0; for(auto x:w[node]){ if(x != par){ int cari = dfs(x,node); temp += cari; tem += cari; } } return temp+1; } signed main() { Raveluk int n,i,j,k,x,ans=1e18; cin>>n; for(i=1;i<=n;i++){ cin>>k; for(j=1;j<=k;j++){ cin>>x; v[x].pb(i); } } for(i=1;i<=n;i++){ // i sebagai root // maksimalkan child int node = i,cnt=0; q.push(i); tem = 0; for(j=1;j<=n;j++) vis[j] = false,w[j].clear(); vis[i] = true; while(!q.empty()){ q.pop(); cnt++; for(auto x:v[node]){ if(!vis[x]){ vis[x] = true; w[node].pb(x); q.push(x); } } if(q.empty()) break; node = q.front(); } if(cnt < n) continue; //cout<<i<<" "<<tem<<endl; ans = min(ans,dfs(i,0)+tem); } cout<<ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...