Submission #1015988

#TimeUsernameProblemLanguageResultExecution timeMemory
1015988qnicondavid23Bosses (BOI16_bosses)C++14
100 / 100
472 ms860 KiB


#include <vector>
#include <iostream>
#include <queue>
using namespace std;
//ifstream cin("date.in");
//ofstream cout("date.out");
int n;
int x, a;
vector<vector<int>> A;
vector<int> fr;
int sum;
void bfs(int nod)
{
	queue<int> Q;
	Q.push(nod);
	fr[nod] = 1;
	sum = 1;
	while (!Q.empty())
	{
		int cap = Q.front();
		Q.pop();
		for (int i = 0; i < A[cap].size(); i++)
		{
			int vecin = A[cap][i];
			if (!fr[vecin])
			{
				fr[vecin] = fr[cap]+1;
				sum = sum + fr[vecin];
				Q.push(vecin);
			}
		}
	}
}
int main() {
	cin >> n;
	A.resize(n + 1);
	for (int i = 1; i <= n; i++)
	{
		cin >> x;
		for (int j = 0; j < x; j++)
		{
			cin >> a;
			A[a].push_back(i);
		}
	}
	int mini = 0x3f3f3f3f;
	for (int i = 1; i <= n; i++)
	{
		fr.resize(0);
		fr.resize(n + 1);
		sum = 0;
		bfs(i);
		bool ok = 1;
		for (int j = 1; j <= n; j++)
			if (fr[j]==0)
			{
				ok = 0;
				break;
			}
		if (!ok)
			continue;
		mini = min(mini, sum);
	}
	cout << mini;
	return 0;
}

Compilation message (stderr)

bosses.cpp: In function 'void bfs(int)':
bosses.cpp:24:21: 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 < A[cap].size(); i++)
      |                   ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...