# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
864663 | 2023-10-23T11:35:13 Z | maks007 | Political Development (BOI17_politicaldevelopment) | C++14 | 0 ms | 0 KB |
// 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[v] - used[u] == 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(k == 1) { cout << 1; }else if(!f) cout << 1; else { if(k <= 2) { cout << 2; return 0; } for(int i = 0; i < n; i ++) { if(!used[i]) dfs(i); } /*if(f == 3) cout << 3; else */cout << 2; } return 0; }v