Submission #864657

#TimeUsernameProblemLanguageResultExecution timeMemory
864657maks007Political Development (BOI17_politicaldevelopment)C++14
4 / 100
3 ms604 KiB
// Bismi Allah
#include "bits/stdc++.h"

using namespace std;

signed main () {
	int n, k, T = 1, f = 0;
	cin >> n >> k;
	vector <int> g[n], used(n);
	function <void(int)> dfs=[&](int v) {
		used[v] = T ++;
		for(auto u : g[v]) {
			if(!used[u]) dfs(u);
			else if(used[u] - used[v] == -2) {
				f = 3;
			}
		}
	};
	for(int i = 0; i < n; i ++) {
		int sz;
		cin >> sz;
		if(sz) f = 2;
		for(int v;sz>=1;sz--) {
			cin >> v;
			g[i].push_back(v);
		}
	}
	if(!f) cout << 1;
	else {
		if(k == 2) {
			cout << 2;
			return 0;
		}
		for(int i = 0; i < n; i ++) {
			if(!used[i]) dfs(i);
		}
		cout << f;
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...