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.|

FR_04_08 - Spirala liczbowa

Spirala liczbowa

Napisz program, który dla dwóch liczb całkowitych a i b narysuje, zawartą w macierzy a × b, spiralę zbudowaną z kolejnych liczb naturalnych od 1 do a · b, o początku w a11 i kierunku rotacji zgodnej z ruchem wskazówek zegara. Wszystkie liczby od 1 do a · b muszą wypełnić całkowicie macierz a × b oraz wszystkie wyrazy macierzy powinny mieć tę samą długość, równą liczbie cyfr największej liczby. W miarę potrzeb, liczby należy uzupełnić o zera wiodące. Między wyrazami macierzy występuje jeden znak spacji, po każdym wierszu następuje znak końca linii.

Przykład poniżej przedstawia spiralę o wymiarach 5 × 8

01 02 03 04 05 06 07 08
22 23 24 25 26 27 28 09
21 36 37 38 39 40 29 10
20 35 34 33 32 31 30 11
19 18 17 16 15 14 13 12

Wejście
W pierwszym wierszu wejścia znajduje się liczba przypadków testowych d (1 ≤ d ≤ 10). Każdy przypadek testowy to dwie liczby całkowite a, b (1 ≤ a, b100) oznaczające wymiary spirali.

Wyjście
Dla każdego przypadku testowego należy wydrukować spiralę według specyfikacji podanej w treści zadania.
Uwaga: każdy nadmiarowy biały znak lub jego brak na wyjściu spowoduje błędną odpowiedź. Ostatnim znakiem w wierszu musi być cyfra, po której dodajemy znak końca linii.

Przykład

Wejście
2
3 2
4 4

Wyjście
1 2
6 3
5 4
01 02 03 04
12 13 14 05
11 16 15 06
10 09 08 07


Dodane przez:Mariusz Śliwiński
Data dodania:2015-07-15
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU JS-MONKEY
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.