Submission #1306200

#TimeUsernameProblemLanguageResultExecution timeMemory
1306200thecrazycandyPolitical Development (BOI17_politicaldevelopment)C++20
0 / 100
3105 ms253120 KiB
#include <bits/stdc++.h> //#pragma GCC optimize("Ofast") //#pragma GCC target("avx,avx2,fma") using namespace std; #define ll long long #define sped_up ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define rall(v) (v).rbegin(), (v).rend() #define all(v) (v).begin(), (v).end() #define pb push_back #define S second #define F first const ll INF = (ll)1e9 + 1, INFL = (ll)1e18 + 1; const ll mod = (ll)1e9 + 7, MAXN = (ll)5e3 + 1; vector <ll> g[MAXN]; ll c[MAXN][MAXN]; bool check[MAXN]; bool used[MAXN]; bool nw[MAXN]; void dfs (ll v) { ll ok = 1; for (auto i : g[v]) { if (nw[i]) ok = 0; } nw[v] = ok; used[v] = 1; check[v] |= ok; for (auto i : g[v]) { if (!used[i]) { dfs(i); } } } int main() { sped_up; ll n, k; cin >> n >> k; ll mx = 0; for (int i = 1; i <= n; i++) { ll a; cin >> a; for (int j = 1; j <= a; j++) { ll b; cin >> b; c[i][b + 1] = 1; } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (c[i][j] == 0) g[i].pb(j); } } for (int i = 1; i <= n; i++) { if (!check[i]) { dfs(i); ll cnt = 0; for (int j = 1; j <= n; j++) { cnt += nw[j]; used[j] = 0, nw[j] = 0; } mx = max(mx, cnt); } } cout << mx; }
#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...