Submission #851140

#TimeUsernameProblemLanguageResultExecution timeMemory
851140BenmathBosses (BOI16_bosses)C++14
100 / 100
965 ms1332 KiB
/****************************************************************************** Online C++ Compiler. Code, Compile, Run and Debug C++ program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <bits/stdc++.h> using namespace std; int n; vector<int> v[5010]; int vis[5010]; int vis_dfs[5010]; int subtree[5010]; vector<int> adjl[5010]; vector<int> adjlpravi[5010]; int brojac = 0; int brojac_posj = 0; void dfs (int s){ vis_dfs[s]++; subtree[s]++; for(int i = 0; i < adjl[s].size(); i++){ if(vis_dfs[adjl[s][i]] == 0){ dfs(adjl[s][i]); subtree[s] += subtree[adjl[s][i]]; } } brojac = brojac + subtree[s]; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n; for (int i = 1; i <= n; i++){ int x; cin >> x; for(int j = 0;j < x;j++){ int y; cin >> y; v[i].push_back(y); adjlpravi[y].push_back(i); } } int ans = 1e9; for(int i = 1; i <= n; i++){ brojac_posj = 0; for(int j = 1; j <= n; j++){ vis[j] = 0; vis_dfs[j] = 0; subtree[j] = 0; adjl[j].clear(); } vis[i]++; brojac = 0; queue<int>q; q.push(i); while (!q.empty()){ int a = q.front(); brojac_posj++; q.pop(); for (int j = 0; j < adjlpravi[a].size(); j++){ if(vis[adjlpravi[a][j]] == 0){ adjl[a].push_back(adjlpravi[a][j]); vis[adjlpravi[a][j]]++; q.push(adjlpravi[a][j]); } } } if(brojac_posj == n){ dfs (i); ans = min(ans, brojac); } } cout << ans; }

Compilation message (stderr)

bosses.cpp: In function 'void dfs(int)':
bosses.cpp:24:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int i = 0; i < adjl[s].size(); i++){
      |                    ~~^~~~~~~~~~~~~~~~
bosses.cpp: In function 'int main()':
bosses.cpp:68:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |             for (int j = 0; j < adjlpravi[a].size(); j++){
      |                             ~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...