Section 2.1 hamming
来源:互联网 发布:大芒果数据库密码 编辑:程序博客网 时间:2024/06/06 02:13
题目大意
给出 N,B 和 D,要求找出 N 个由0或1组成的编码(1 <= N <= 64),每个编码有 B 位(1 <= B <= 8),使得两两编码之间至少有 D 个单位的“Hamming距离”(1 <= D <= 7)。 “Hamming距离”是指对于两个编码,他们二进制表示法中的不同二进制位的数目。看下面的两个编码 0x554 和 0x234(0x554和0x234分别表示两个十六进制数):0x554 = 0101 0101 01000x234 = 0010 0011 0100不同位 xxx xx
输入格式
line 1: N B D
输出格式
N 个编码(用十进制表示),要排序,十个一行。如果有多解,你的程序要输出这样的解:假如把它化为2^B进制数,它的值要最小。
样例输入
16 7 3
样例输出
0 7 25 30 42 45 51 52 75 7682 85 97 102 120 127
题解
比较水的一题,按照大小编码,这样取到的N个数便是最小的。然后就是深度搜索,依此比较。
代码
#include<stdio.h>#include<math.h>int N=0,B=0,D=0,flag=0;int a[70][10]={0};int tran(int i,int b){ int j=0; while(b>0) { a[i][j]=b%2; b=b/2; j++; } return 0;}int bijiao(int i,int j){ int k,count=0; for(k=0;k<B;k++) if(a[i][k]!=a[j][k]) count++; if(count>=D) return 1; else return 0;}int h(int cur){ int i,f=0; int t; t=pow(2,B); if(cur>=N) { flag=1; return 0; } else {if(flag==0) for(i=0;i<t&&flag==0;i++) { f=0; tran(cur,i); int j; for(j=0;j<cur;j++) if(bijiao(j,cur)==0) { // tran(cur,0); f=1; break; } if(f==0) h(cur+1); } } return 0;}int main(){ int i,j,p[70]={0},k; int t,c=0; scanf("%d %d %d",&N,&B,&D); h(0); for(i=0;i<N;i++) { for(j=0;j<B;j++) { t=pow(2,j); p[i]=p[i]+a[i][j]*t; } } i=0; for(k=0;k<N-1;k++) { i++; if(i==10) { i=0; printf("%d\n",p[k]); continue; } printf("%d ",p[k]); } printf("%d\n",p[N-1]); return 0;}
阅读全文
0 0
- Section 2.1 Hamming Codes
- Section 2.1 hamming
- USACO Section 2.1 Hamming Codes
- USACO Section 2.1 Hamming Codes
- USACO-Section 2.1 Hamming Codes (DFS)
- USACO section 2.1 Hamming Codes(直接枚举暴搜)
- USACO Section 2.1 Hamming Codes - 题意相当坑爹..很无聊..
- 2.1 Hamming
- USACO 2.1 Hamming Codes (hamming)
- 2.1.6 Hamming Codes
- 2.1Hamming Codes
- 2.1.5---Hamming Codes
- USACO--2.1Hamming Codes
- USACO 2.1 Hamming Codes
- usaco 2.1.5 hamming
- USACO 2.1 Hamming Codes
- USACO Hamming Codes 2.1
- hamming
- mysql in 查询返回的结果不一定按照传进的顺序
- 数据库的隔离级别以及悲观锁和乐观锁详解
- 图像分割汇总
- android netd守护进程机制 --- netd分析
- Java集合——set总结
- Section 2.1 hamming
- Ubuntu 16.04 GTX1060 无法进入图形界面
- Unity3D学习记录——API实例化与销毁2
- Unity自定义UI组件(十) 折线图
- 论文笔记:Spatial Transformer Networks(空间变换网络)
- mysql基础
- 【机器学习杂货铺】——模型评估(暂缺)
- Win32线程劫持-Suspend-Inject-Resume
- PHP MongoDB Driver