Submission #933734

#TimeUsernameProblemLanguageResultExecution timeMemory
933734LucaIliePolitical Development (BOI17_politicaldevelopment)C++17
0 / 100
3071 ms8020 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAX_N = 5e4;
vector<int> adj[MAX_N];

int main() {
    int n, k, minn = n;

    cin >> n >> k;
    for ( int u = 0; u < n; u++ ) {
        int d;
        cin >> d;
        for ( int j = 0; j < d; j++ ) {
            int v;
            cin >> v;
            adj[u].push_back( v );
        }
        minn = min( minn, d );
    }

    int ans = 0;
    for ( int mask = 0; mask < (1 << n); mask++ ) {
        int sz = __builtin_popcount( mask );
        bool ok = true;
        for ( int u = 0; u < n; u++ ) {
            if ( ((mask >> u) & 1) == 0 )
                continue;

            int vec = 0;
            for ( int v: adj[u] ) {
                if ( (mask >> v) & 1 )
                    vec++;
            }

            if ( vec != sz - 1 )
                ok = false;
        }
        if ( ok )
            ans = max( ans, sz );
    }

    cout << ans;

    if ( minn > k )
        return 1;

    return 0;
}

Compilation message (stderr)

politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:9:15: warning: 'n' is used uninitialized in this function [-Wuninitialized]
    9 |     int n, k, minn = n;
      |               ^~~~
#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...