#include #include #include using namespace std; int N; int ary[10001]; int ans=INT_MAX; void calc(int pos,int cnt,int ary_v[]){ if(pos==N){ if(ans>cnt) ans=cnt; } else { for(int i=0;i<2;++i){ if(i==0){ int pos2=pos+ary[pos]; int cnt2=cnt+1; if(pos2>N) continue; if(ary_v[pos2]==1) continue; int ary_v2[N+1]; for(int i2=0;i2>N; for(int i=1;i<=N;++i){ bitset<16> bs(i); int a=bs.count(); ary[i]=a; } int ary_v[N+1]; for(int i=0;i