Submission #744095

#TimeUsernameProblemLanguageResultExecution timeMemory
744095MilosMilutinovicPolitical Development (BOI17_politicaldevelopment)C++14
4 / 100
73 ms1784 KiB
#include <bits/stdc++.h> using namespace std; int n,k,id[50005]; vector<int> g[50005]; signed main() { scanf("%d%d",&n,&k); for(int d,i=0;i<n;i++) { scanf("%d",&d); for(int x,j=0;j<d;j++) { scanf("%d",&x); g[i].push_back(x); g[x].push_back(i); } } for(int i=0;i<n;i++) id[i]=-1; int ans=1; for(int i=0;i<n;i++) { int deg=(int)g[i].size(); if (deg>k) continue; for(int j=0;j<deg;j++) id[g[i][j]]=j+1; id[i]=0; deg++; vector<int> a; a.push_back((1<<deg)-1); for(int x:g[i]) { int f=(1<<id[x]); for(int y:g[x]) if(id[y]!=-1) f+=(1<<id[y]); a.push_back(f); } for(int mask=0;mask<(1<<deg);mask++) { bool ok=true; for(int j=0;j<deg;j++) if(mask>>j&1) if((mask&a[j])!=mask) ok=false; if(ok) ans=max(ans,__builtin_popcount(mask)); } for(int j=0;j<deg-1;j++) id[g[i][j]]=-1; id[i]=-1; } printf("%d\n",ans); }

Compilation message (stderr)

politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:43:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   43 |         for(int j=0;j<deg-1;j++) id[g[i][j]]=-1; id[i]=-1;
      |         ^~~
politicaldevelopment.cpp:43:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   43 |         for(int j=0;j<deg-1;j++) id[g[i][j]]=-1; id[i]=-1;
      |                                                  ^~
politicaldevelopment.cpp:9:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |     scanf("%d%d",&n,&k);
      |     ~~~~~^~~~~~~~~~~~~~
politicaldevelopment.cpp:12:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |         scanf("%d",&d);
      |         ~~~~~^~~~~~~~~
politicaldevelopment.cpp:15:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |             scanf("%d",&x);
      |             ~~~~~^~~~~~~~~
#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...