Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

PP0505D - Gray code

Napisz program wyznaczający wszystkie możliwe ciągi binarne o zadanej długości n w kolejności zgodnej z kodem Gray'a. Posłuż się następującą formułą rekurencyjną: Funkcja
gray(int n, int *tab, int k, char direction)
ma wypisać wszystkie ciągi o długości n, dla których k pierwszych liczb jest już ustalone i umieszczone w tablicy tab, (inicjalnie k=0) zgodnie z kolejnością ustaloną przez flagę direction.

  • jeśli n=k wypisz wszystkie elementy z tab;
  • w pozostałych przypadkach wykonaj funkcje
    gray(n,tab,k+1,1) i gray(n,tab,k+1,0) W zależności od parametru direction wstawiając przed wywołaniem funkcji gray do tablicy tab na pozycji k element 0 a później 1, jeśli direction=1 albo najpierw 1 a później 0, jeśli direction=0

Wejście

W pierwszej linii liczba testów t. W każdym z kolejnych t wierszy znajduje się tylko jedna liczba 0 < n < 12.

Wyjście

Dla każdego testu w oddzielnych liniach wszystkie możliwe ciągi binarne w kolejności zgodnej z kodem gray'a, każdy ciąg w jednej linii. Po każdym przypadku testowym linia odstępu.

Przykład

Wejście:
2
1
4
Wyjście:
0
1

0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

Dodane przez:kuszi
Data dodania:2005-12-07
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego5000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: GOSU

ukryj komentarze
2014-07-26 14:55:56 Mitch Schwartz
[narbej http://www.spoj.com/SHORTEN/ <--? (... B w Python), ... B w BF :)

Ostatnio edytowany: 2015-03-09 23:27:31
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.