Submission #311251

#TimeUsernameProblemLanguageResultExecution timeMemory
311251Vladth11Political Development (BOI17_politicaldevelopment)C++14
0 / 100
3078 ms28920 KiB
#include <bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debug_with_space(x) cerr << #x << " " << x << " "

using namespace std;
typedef long long ll;
typedef pair <ll, ll> pii;
typedef pair <ll, pii> muchie;

const ll NMAX = 100005;
const ll INF = (1LL << 60);
const ll MOD = 1000000007;
const ll BLOCK = 101;

set <int> v[NMAX],st;
int maxim = 0;
int deg[NMAX];

void clique(int i) {
    int nrbits = v[i].size();
    // debug(i);
    for(int mask = 1; mask < (1 << nrbits); mask++) {
        int cnt = 0;
        int j = 0,cc = 0;
        st.clear();
        for(auto y : v[i]){
            if(mask & (1 << j))
                st.insert(y);
            j++;
        }
        j = 0;
        for(auto y : v[i]) {
            if(mask & (1 << j)) {
              //  debug(y);
                for(auto x : v[y]) {
                    //debug(x);
                    if(st.find(x) != st.end())
                        cnt++;
                }
            }
            j++;
        }
        int bb = __builtin_popcount(mask);
         //  debug_with_space(mask);
        // debug(cnt);
        if(cnt == bb * bb)
            maxim = max(maxim, bb);
    }

}

struct cmp{
    bool operator()(int x, int y){
        return v[x].size() < v[y].size();
    }
};
int main() {
    // ifstream cin("catsfood.in");
    // ofstream cout("catsfood.out");
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, k, i, d;
    cin >> n >> k;
    for(i = 1; i <= n; i++) {
        int d;
        cin >> d;
        v[i].insert(i);
        while(d--) {
            int x;
            cin >> x;
            v[i].insert(x + 1);
            v[x + 1].insert(i);
        }
    }priority_queue <int, vector <int>, cmp > pq;

    for(i = 1; i <= n; i++) {
        pq.push(i);
    }


    while(!pq.empty()){
        int top = pq.top();
        pq.pop();
        clique(top);
    }
    cout << maxim;
    return 0;
}

Compilation message (stderr)

politicaldevelopment.cpp: In function 'void clique(int)':
politicaldevelopment.cpp:24:19: warning: unused variable 'cc' [-Wunused-variable]
   24 |         int j = 0,cc = 0;
      |                   ^~
politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:63:18: warning: unused variable 'd' [-Wunused-variable]
   63 |     int n, k, i, d;
      |                  ^
#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...