Submission #783029

#TimeUsernameProblemLanguageResultExecution timeMemory
7830291075508020060209tcPolitical Development (BOI17_politicaldevelopment)C++14
4 / 100
3100 ms26020 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define X first #define Y second int n;int K; set<int>st[50100]; int tbl[5010][5010]; signed main(){ cin>>n>>K; for(int i=0;i<n;i++){ int d; cin>>d; for(int j=1;j<=d;j++){ int v; cin>>v; st[i].insert(v); // tbl[i][v]=1; } // tbl[i][i]=1; st[i].insert(i); } int ans=1; for(int i=0;i<n;i++){ vector<int>vc; for(auto it=st[i].begin();it!=st[i].end();it++){ vc.push_back(*it); } for(int A=0;A<(1<<vc.size());A++){ if(__builtin_popcount(A)<=ans){continue;} if(__builtin_popcount(A)>K){continue;} int ok=1; // cout<<A<<"A\n"; for(int j=0;j<vc.size();j++){ // cout<<vc[j]<<" "<<ok<<endl;; if(!ok){break;} if(((A&(1<<j))!=0)){ for(int k=0;k<vc.size();k++){ if( ((A&(1<<k))==0) ){continue;} //cout<<A<<" "<<k<<endl; if(st[vc[j]].find(vc[k])==st[vc[j]].end()){ok=0;} // cout<<A<<" "<<vc[j]<<" "<<vc[k]; //if(tbl[vc[j]][vc[k]]==0){ok=0;} //cout<<" "<<ok<<endl; } } } //cout<<ok<<endl; if((ok&&(__builtin_popcount(A)>ans)) ){ ans=__builtin_popcount(A); } } } cout<<ans<<endl; //return 0; /* for(int i=0;i<ans.size();i++){ cout<<ans[i]<<" "; }*/ }

Compilation message (stderr)

politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:36:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         for(int j=0;j<vc.size();j++){
      |                     ~^~~~~~~~~~
politicaldevelopment.cpp:40:30: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |                 for(int k=0;k<vc.size();k++){
      |                             ~^~~~~~~~~~
#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...