Submission #735593

# Submission time Handle Problem Language Result Execution time Memory
735593 2023-05-04T11:30:38 Z tigar Bosses (BOI16_bosses) C++14
100 / 100
629 ms 852 KB
#include <bits/stdc++.h>

using namespace std;

int n;
vector<int>graff[5050];
bool check[5050];
vector<pair<int, int> >ord;
int reezz=0, ans=INT_MAX, brr=0;

void bfs(int v, int br)
{
    //cout<<v<<endl;
    if(check[v] and br!=ord.size()){bfs(ord[br].first, br+1); return;}
    else if(check[v] and br==ord.size())return;
    check[v]=true;
    brr++;
    if(br==0)reezz+=1;
    else reezz+=ord[br-1].second;
    for(int i=0; i<graff[v].size(); i++)
    {
        if(!check[graff[v][i]] and br!=0){ord.push_back({graff[v][i], ord[br-1].second+1}); /*tree[v].push_back(graff[v][i]);*/}
        else if (!check[graff[v][i]] and br==0)ord.push_back({graff[v][i], 2});
    }
    if(br==ord.size())return;

    bfs(ord[br].first, br+1);
}

int main()
{
    ios_base::sync_with_stdio(false);
    //cin.tie(0); cout.tie(0);

    cin>>n;
    for(int i=1; i<=n; i++)
    {
        int k; cin>>k;
        for(int j=0; j<k; j++)
        {
            int a; cin>>a;
            graff[a].push_back(i);
        }
    }
    for(int i=1; i<=n; i++)
    {
        reezz=0; brr=0;
        for(int i=1; i<=n; i++)check[i]=false;
        ord.clear();
        bfs(i, 0);
        if(brr==n)ans=min(ans, reezz);
    }
    cout<<ans;
    return 0;
}
/*4
1 2
1 1
1 1
1 1
9*/

Compilation message

bosses.cpp: In function 'void bfs(int, int)':
bosses.cpp:14:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     if(check[v] and br!=ord.size()){bfs(ord[br].first, br+1); return;}
      |                     ~~^~~~~~~~~~~~
bosses.cpp:15:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     else if(check[v] and br==ord.size())return;
      |                          ~~^~~~~~~~~~~~
bosses.cpp:20:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i=0; i<graff[v].size(); i++)
      |                  ~^~~~~~~~~~~~~~~~
bosses.cpp:25:10: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     if(br==ord.size())return;
      |        ~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 19 ms 596 KB Output is correct
13 Correct 15 ms 672 KB Output is correct
14 Correct 136 ms 648 KB Output is correct
15 Correct 4 ms 596 KB Output is correct
16 Correct 507 ms 756 KB Output is correct
17 Correct 629 ms 840 KB Output is correct
18 Correct 579 ms 852 KB Output is correct