Submission #971484

#TimeUsernameProblemLanguageResultExecution timeMemory
971484gutzzyPolitical Development (BOI17_politicaldevelopment)C++14
16 / 100
3051 ms524288 KiB
#include <bits/stdc++.h> using namespace std; int main(){ int n, k, d, a; cin >> n >> k; vector<vector<int>> ady(n,vector<int>(n,0)); vector<vector<int>> last(n); for(int i=0;i<n;i++){ last[i] = {i}; cin >> d; for(int j=0;j<d;j++){ cin >> a; ady[min(i,a)][max(i,a)] = 1; } } int cur = 2; while(cur<=k){ int s = last.size(); vector<vector<int>> nw; for(int i=0;i<s;i++){ // last[i] --> completed graphs of cur-1 nodes for(int x=0;x<n;x++){ bool found = true; for(auto p:last[i]){ if(ady[min(x,p)][max(x,p)]==0){ found = false; break; } } if(found){ last[i].push_back(x); nw.push_back(last[i]); last[i].pop_back(); //for(int kk=0;kk<last[i].size();kk++) cout << last[i][kk] << " "; //cout << x << endl; } } } if(nw.size()==0) break; else{ last = nw; cur++; } } cout << cur-1 << endl; }
#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...