... atau Lingkungan Toroidal Moore
Dengan bilangan bulat positif h, wdan bilangan bulat non-negatif i, kembalikan semua indeks yang ada di sekitarnya i.
Anda harus mengasumsikan matriks yang terdiri dari hderetan welemen, yang dinomori dari terendah, di sudut kiri atas, hingga tertinggi, di sudut kanan bawah, dan mengembalikan, dalam format apa pun yang masuk akal, daftar indeks yang akan mengelilingi indeks i,. Matriks ini adalah torus (peta tanpa batas yang membungkus di setiap tepi).
Misalnya, input h=4dan w=4, akan menghasilkan matriks:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
tetapi lebih khusus:
15 12 13 14 15 12
3 0 1 2 3 0
7 4 5 6 7 4
11 8 9 10 11 8
15 12 13 14 15 12
3 0 1 2 3 0
jadi jika iitu 0, Anda harus kembali 15, 12, 13, 3, 1, 7, 4, 5(berbasis 0).
Contohnya
Berbasis 0:
h w i Expected result
4 4 5 0, 1, 2, 4, 6, 8, 9, 10
4 4 0 15, 12, 13, 3, 1, 7, 4, 5
4 5 1 15, 16, 17, 0, 2, 5, 6, 7
1 3 2 1, 2, 0, 1, 0, 1, 2, 0
1 1 0 0, 0, 0, 0, 0, 0, 0, 0
Berbasis 1:
h w i Expected result
4 4 6 1, 2, 3, 5, 7, 9, 10, 11
4 4 1 16, 13, 14, 4, 2, 8, 5, 6
4 5 2 16, 17, 18, 1, 3, 6, 7, 8
1 3 3 2, 3, 1, 2, 1, 2, 3, 1
1 1 1 1, 1, 1, 1, 1, 1, 1, 1
Aturan
- Jawaban Anda mungkin 0 atau 1-diindeks, pilihan Anda, mohon jelaskan.
- Anda dapat menganggap itu
i < h * w(ataui <= h * wuntuk jawaban yang diindeks 1). - Anda dapat menganggap itu
i >= 0(ataui > 0untuk jawaban yang diindeks 1). - Urutan nilai yang dikembalikan tidak penting asalkan hanya delapan nilai yang diinginkan dimasukkan.
- Celah standar dilarang .
- Ini adalah kode-golf sehingga jawaban tersingkat, dalam setiap bahasa, menang!
Terima kasih kepada @Conor O'Brien untuk judul yang terdengar lebih teknis dan @ngm untuk lebih banyak test case!