Submission #244311

# Submission time Handle Problem Language Result Execution time Memory
244311 2020-07-03T15:24:07 Z eohomegrownapps Bosses (BOI16_bosses) C++14
100 / 100
1349 ms 1144 KB
#include <bits/stdc++.h>
using namespace std;

vector<int> adjlist[5000];
vector<int> treeadjlist[5000];

int INF = 1e9;
int n;

int treesum = 0;

int dfs(int root){
	int tot = 1;
	for (int i : treeadjlist[root]){
		tot+=dfs(i);
	}
	treesum+=tot;
	return tot;
}

int bfs(int root){
	for (int i = 0; i<n; i++){
		treeadjlist[i].clear();
	}
	vector<bool> visited(n);
	queue<int> q;
	q.push(root);
	visited[root]=true;
	int cnt = 1;
	while (q.size()){
		int f = q.front();
		q.pop();
		for (int i : adjlist[f]){
			if (visited[i]){continue;}
			visited[i]=true;
			cnt++;
			treeadjlist[f].push_back(i);
			q.push(i);
		}
	}
	if (cnt!=n){
		return INF;
	}
	treesum=0;
	dfs(root);
	return treesum;
}

int main(){
	cin.tie(0);
	ios_base::sync_with_stdio(0);
	cin>>n;
	//adjlist.resize(n);
	for (int i = 0; i<n; i++){
		int k;
		cin>>k;
		for (int j = 0; j<k; j++){
			int x;
			cin>>x;
			x--;
			adjlist[x].push_back(i);
		}
	}
	int minval = INF;
	for (int i = 0; i<n; i++){
		minval=min(minval,bfs(i));
	}
	cout<<minval<<'\n';
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 640 KB Output is correct
2 Correct 5 ms 640 KB Output is correct
3 Correct 4 ms 512 KB Output is correct
4 Correct 5 ms 640 KB Output is correct
5 Correct 5 ms 512 KB Output is correct
6 Correct 4 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 640 KB Output is correct
2 Correct 5 ms 640 KB Output is correct
3 Correct 4 ms 512 KB Output is correct
4 Correct 5 ms 640 KB Output is correct
5 Correct 5 ms 512 KB Output is correct
6 Correct 4 ms 512 KB Output is correct
7 Correct 5 ms 512 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 5 ms 512 KB Output is correct
10 Correct 5 ms 512 KB Output is correct
11 Correct 5 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 640 KB Output is correct
2 Correct 5 ms 640 KB Output is correct
3 Correct 4 ms 512 KB Output is correct
4 Correct 5 ms 640 KB Output is correct
5 Correct 5 ms 512 KB Output is correct
6 Correct 4 ms 512 KB Output is correct
7 Correct 5 ms 512 KB Output is correct
8 Correct 5 ms 512 KB Output is correct
9 Correct 5 ms 512 KB Output is correct
10 Correct 5 ms 512 KB Output is correct
11 Correct 5 ms 512 KB Output is correct
12 Correct 10 ms 640 KB Output is correct
13 Correct 8 ms 640 KB Output is correct
14 Correct 197 ms 768 KB Output is correct
15 Correct 24 ms 768 KB Output is correct
16 Correct 702 ms 1016 KB Output is correct
17 Correct 1349 ms 1016 KB Output is correct
18 Correct 1310 ms 1144 KB Output is correct