¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1655

해밍코드 1s 64MB

Problemas

해밍 거리란 두 값을 2진수로 바꿨을 경우 일치하지 않는 비트의 개수를 이야기 한다. 

해밍 거리는 주로 통신 분야에서 사용되어 지는데, 

데이터를 주고받을 때 이를 계산함으로 데이터가 제대로 송/수신 되었는지 판별할 때 사용하는 방법 중 하나이다.

 

가령 16진수 554와, 234의 경우 해밍 거리를 계산하면 다음과 같다.

0x554 = 0101 0101 0100 0x234 = 0010 0011 0100

앞에서부터 비트를 볼 때, 2,3,4번째 그리고 6,7번째 비트가 다르기 때문에 이 두 값의 해밍 거리는 5이다.

 

2진수를 이루는 비트의 숫자 B가 주어지고, N개의 B개의 비트로 이루어진 숫자들 집합을 만들 때, 

집합의 모든 값들 간에 해밍거리가 D이상인 집합을 만들 수 있는지 판단하는 프로그램을 작성하라.


Entrada

입력은 한 줄로 이루어지며, N(1≤N≤64), B(1≤B≤8), D(1≤D≤7)이 순서대로 주어진다.


Salida

입력에 대한 가능한 숫자의 집합을 출력한다. 숫자를 10진수로 출력되어야 하며, 집합을 만들 수 없는 경우는 존재하지 않는다고 가정한다. 그리고 출력되는 집합은 오름차순으로 정렬되어야 한다. 만약 가능한 경우가 여럿 있을 경우 가능한 모든 순열 중 먼저 나오는 순열을 출력한다. 한 줄에 10개씩 출력한다.


Ejemplo

16 7 3
0 7 25 30 42 45 51 52 75 76

82 85 97 102 120 127
Debes iniciar sesión para escribir código.