Mengingat dua bilangan bulat positif, 'a' dan 'b', keluaran sebuah ascii-seni "kotak" yang merupakan karakter lebar dan b karakter tinggi. Misalnya, dengan '4' dan '6':
****
* *
* *
* *
* *
****
Sederhana bukan? Berikut ini twistnya: Batas kotak harus karakter "bergantian" dan "b". Ini dimulai di sudut kiri atas, dan berlanjut dalam spiral searah jarum jam. Misalnya, contoh sebelumnya dengan 4 dan 6 seharusnya
4646
6 4
4 6
6 4
4 6
6464
A dan B dapat berupa angka dua digit. Misalnya, input "10" dan "3" harus menampilkan ini:
1031031031
1 0
3013013013
Agar outputnya relatif kecil, Anda tidak harus mendukung tiga angka atau lebih. Juga, karena input dibatasi untuk bilangan bulat positif , '0' adalah input yang tidak valid, yang tidak harus Anda tangani.
Berikut adalah beberapa kasus uji lagi:
Input: (3, 5)
Output:
353
5 5
3 3
5 5
353
Input: (1, 1)
Output:
1
Input: (4, 4)
Output:
4444
4 4
4 4
4444
Input: (27, 1)
Output:
271271271271271271271271271
Input: (1, 17)
Output:
1
1
7
1
1
7
1
1
7
1
1
7
1
1
7
1
1
Input: (12, 34):
Output:
123412341234
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
4 1
3 2
2 3
1 4
432143214321
Anda dapat mengambil input dan output dalam format yang masuk akal, dan celah standar dilarang. Karena ini adalah kode-golf, jawaban tersingkat dalam byte menang!
a
1 apakah itu dinding kiri atau dinding kanan?