Submission #969962

# Submission time Handle Problem Language Result Execution time Memory
969962 2024-04-26T02:33:36 Z vjudge1 Bosses (BOI16_bosses) C++17
67 / 100
1500 ms 944 KB
/*
 * With a little appreciation, in a mostly hollow tone, she says, "Delightful." As if the world has any meaning.
 * TASK : Bossa Nova
 * AUTHOR : Marszpace
*/

#include<bits/stdc++.h>
using namespace std;

pair<int,int> dfs(vector<vector<int>>& adj, int u){
  int res1=0,res2=0;
  for(auto v:adj[u]){
    auto p=dfs(adj,v);
    res1+=p.first;
    res2+=p.second;
  }
  return {res1+res2+1,res2+1};
}

int main(){
  ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
  int n;
  cin >> n;
  vector<vector<int>> adj(n+1,vector<int>());
  for(int i=1;i<=n;i++){
    int k;
    cin >> k;
    for(int j=0;j<k;j++){
      int v;
      cin >> v;
      adj[v].push_back(i);
    }
  }

  int res=INT_MAX;
  for(int root=1;root<=n;root++){
    queue<pair<int,int>> bfs;
    bfs.push({root,0});
    vector<bool> visited(n+1,false);
    int cnt=0;
    vector<vector<int>> thisadj(n+1,vector<int>());
    while(!bfs.empty()){
      auto [u,p]=bfs.front();bfs.pop();
      if(visited[u]){continue;}
      visited[u]=true;cnt++;
      if(p!=0){
        thisadj[p].push_back(u);
      }
      for(auto v:adj[u]){
        if(!visited[v]){
          bfs.push({v,u});
        }
      }
    }
    if(cnt==n){
      res=min(res,dfs(thisadj,root).first);
    }
  }
  cout << res;
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 17 ms 348 KB Output is correct
13 Correct 13 ms 348 KB Output is correct
14 Correct 512 ms 944 KB Output is correct
15 Correct 86 ms 792 KB Output is correct
16 Correct 1394 ms 904 KB Output is correct
17 Execution timed out 1536 ms 856 KB Time limit exceeded
18 Halted 0 ms 0 KB -