Definisi
Sebuah matriks panah adalah matriks yang memiliki semua entri sama untuk 0 , kecuali orang-orang pada diagonal utama, baris atas dan kolom paling kiri. Dengan kata lain, matriksnya akan terlihat seperti ini:
* * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 *
Di mana setiap * adalah entri yang bukan nol.
Tugas
Diberi matriks persegi bilangan bulat non-negatif, periksa apakah itu panah sesuai dengan definisi di atas.
Anda tidak boleh menggunakan ukuran matriks sebagai input, kecuali jika bahasa Anda setara dengan array adalah sesuatu seperti pointer dan panjang (seperti C). Itu akan selalu minimal 3 x 3.
Kode terpendek dalam byte di setiap bahasa menang.
Masukan dan keluaran
Anda dapat memilih di antara salah satu format berikut untuk menerima input:
- Matriks dalam jenis matriks asli (jika bahasa Anda memilikinya)
- 2D array 1 (array array 1D, masing-masing sesuai dengan satu baris)
- Array 1D (karena matriks selalu persegi)
- String (Anda memilih spasi, tapi tolong jangan menyalahgunakan ini dengan cara apa pun).
Ketika datang untuk memberikan output, Anda dapat melaporkan nilai kebenaran / kepalsuan mengikuti definisi masalah keputusan standar , atau memilih dua nilai yang berbeda dan konsisten.
Selain itu, Anda dapat mengambil input dan memberikan output melalui metode standar apa pun , dalam bahasa pemrograman apa pun , sambil memperhatikan bahwa celah ini dilarang secara default. Jika ingin memilih format lain atau tidak yakin tentang sesuatu, silakan tanyakan di komentar.
1: atau padanan bahasa Anda (daftar, vektor, dll.)
Contohnya
Mari kita lihat contoh-contoh berikut:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
Ini adalah matriks panah (program Anda harus melaporkan nilai kebenaran), karena elemen-elemen pada diagonal utama adalah 1 1 1 1
, yang ada di baris paling atas 1 2 2 2
dan yang ada di kolom paling kiri 1 2 3 4
. Semua entri lainnya adalah 0 , jadi ini memenuhi semua persyaratan.
3 5 6 7 1 0 8 0 0
Matriks ini bukan panah karena ada 0 pada diagonal utama.
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
Yang ini juga bukan panah, karena mengandung angka 7 menggantikan angka 0 .
Lebih banyak kasus uji
Benar:
[[1, 1, 1], [1, 1, 0], [1, 0, 1]] [[1, 2, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]] [[1, 2, 2, 2], [2, 1, 0, 0], [3, 0, 1, 0], [4, 0, 0, 1]]] [[34, 11, 35, 5], [56, 567, 0, 0], [58, 0, 679, 0], [40, 0, 0, 7]]
Falsy:
[[3, 5, 6], [7, 1, 0], [8, 0, 0]] [[9, 9, 9, 9], [9, 9, 0, 0], [9, 7, 9, 0], [9, 0, 0, 9]] [[1, 0, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1]]] [[1, 6, 3, 4], [13, 2, 0, 6], [29, 0, 1, 0], [2, 0, 0, 4]]