Submission #1349064

#TimeUsernameProblemLanguageResultExecution timeMemory
1349064yumemysteryBosses (BOI16_bosses)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>>V;
vector<int>in_degree;
vector<int>dp;
vector<bool>vis;

int solve (int a) {
	if (vis[a]) return 0;
	if (V[a].empty()) return dp[a] = 1;
	if (dp[a] != -1) return dp[a];
	vis[a] = 1;
	int sum = 0;

	for (auto &b : V[a]) {
		sum += solve(b);
	}

	return dp[a] = sum+1;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int n;
	cin >> n;

	dp.resize(n+1,-1);
	V.resize(n+1);

	for (int i=1; i<=n; i++) {
		int m;
		cin >> m;

		while (m--) {
			int b;
			cin >> b;

			V[b].push_back(i);
		}
	}

	int ans = 1e9;
	vis.resize(n+1,0);
	cout << 2*solve(1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...