Section 2.1 Hamming Codes
来源:互联网 发布:软件视频会议 编辑:程序博客网 时间:2024/05/17 00:06
ans数组用来存结果
ans[1] 为0,然后枚举 知道找出n个
不必排序, 先找出来的一定小
至于判断两个数的海明距离, 用 A = A xor B 再A中1的个数即可
具体参加 百度百科 位运算
http://baike.baidu.com/view/379209.htm?fr=ala0_1
{
ID: yaoyuan4
PROG: hamming
LANG: PASCAL
}
Program hamming;
const
inf = 'hamming.in'; outf = 'hamming.out';
var
n, b, d : longint;
ans : array[0..300] of longint;
Procedure init;
begin
assign(input, inf); reset(input);
readln(n, b, d);
close(input);
ans[0] := 1; ans[1] := 0;
end;
Function ok(a, b : longint) : boolean;
var
x, y : longint;
begin
x := a xor b;
y := 0;
repeat
if odd(x) then inc(y);
x := x shr 1;
until x = 0;
if y >= d then exit(true);
exit(false);
end;
Procedure work;
var
i, j, t : longint;
begin
i := 0;
repeat
inc(i);
t := 0;
for j := 1 to ans[0] do
if ok(i, ans[j]) then inc(t);
if t = ans[0] then
begin
inc(ans[0]);
ans[ans[0]] := i;
end;
until ans[0] = n;
end;
Procedure print;
var
i : longint;
begin
assign(output, outf); rewrite(output);
for i := 1 to n do
begin
if i mod 10 = 1 then write(ans[i]) else write(' ',ans[i]);
if i mod 10 = 0 then writeln;
end;
if n mod 10 <> 0 then writeln;
close(output);
end;
begin
init;
work;
print;
end.
- Section 2.1 Hamming Codes
- 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 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 Hamming Codes
- USACO Hamming Codes 2.1
- USACO Section 2.1 Hamming Codes - 题意相当坑爹..很无聊..
- Section 2.1 hamming
- USACO 2.1.5 Hamming Codes
- [USACO 2.1.5] Hamming Codes
- usaco 2.1.5 Hamming Codes
- 对于数组名和对数组名取地址
- 如何设计一个完整的测试用例
- c#运算符
- 键盘过滤驱动快捷实现
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!
- Section 2.1 Hamming Codes
- 字符串函数实现
- C#获取网页源代码的5种方法
- Asp.Net中Post与Get的区别
- 有人做过JAVA 的图像匹配么
- imagebutton得到commandargument
- 简单linux命令练习
- 学习1
- java类:读文件类, 读取、创建xml文件, 填充jsp文件,数据转换为json类型