题解
【提高】小X与神牛
1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int a[20][8]; int r[8]; int k; int b; int d; void jinzhi(int n){ int i; for(i=0;i<b;i++){ r[i] = 0; } i = 0; while(n!=0){ r[i] = n % 2; n = n / 2; i++; } } bool youhao(){ bool f = true; int i,j,c; for(i=0;i<k;i++){ c = 0; for(j=0;j<b;j++){ if(a[i][j]!=r[j]){ c++; if(c>=d){ break; } } } if(c<d){ f = false; break; } } return f; } int main(){ int i=0,j; int n; cin>>n>>b>>d; k = 1; bool f; cout<<0<<" "; while(k<n){ i++; jinzhi(i); f = youhao(); if(f==true){ for(j=0;j<b;j++){ a[k][j] = r[j]; } cout<<i<<" "; k++; } } return 0; }
- 1