记录编号 146382 评测结果 AAAAAAAAAA
题目名称 海明码 最终得分 100
用户昵称 Gravatar明天 是否通过 通过
代码语言 C++ 运行时间 0.009 s
提交时间 2015-01-15 15:06:54 内存使用 0.31 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
using namespace std;

int n,b,d;
int a[65];
int main()
{
 	freopen("hamming.in","r",stdin);
 	freopen("hamming.out","w",stdout);
 
 	scanf("%d%d%d",&n,&b,&d);
 	a[1]=0;
 	
 	for (int i=2; i<=n; i++)
 	{
 		int j=a[i-1]+1;
 		bool flag=false;
 		while (!flag)
 		{
 			flag=true;
 			for (int k=1; k<=i-1; k++)
 			{
 				int x=j xor a[k];
 				int p=0;
 				while (x>0)
 				{
 					if (x%2==1) p++;
 					x=x/2;
 				}
 				if (p<d) flag=false;
 			}
 			j++;
 		}
 		a[i]=j-1;
 	}
 	int k=0;
 	for (int i=1; i<=n-1; i++)
 	{
 		printf("%d",a[i]);
 		k++;
 		if (k%10==0) printf("\n");
 		else printf(" ");
 	}
 	printf("%d\n",a[n]);
 
 	return 0;
}