Tanım
Bir ok matris a, matris tüm girişler için eşit olan , 0 , ana diyagonal, üst sırasında ve en soldaki kolonu üzerinde olanlar hariç. Başka bir deyişle, matris şöyle görünmelidir:
* * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 *
Her bir * sıfır olmayan herhangi bir girdi.
Görev
Negatif olmayan tamsayıların kare bir matrisi göz önüne alındığında, yukarıdaki tanıma göre ok ucu olup olmadığını kontrol edin.
Sen olabilir değil bir diziye dilinizin eşdeğer bir işaretçi ve (C) gibi bir uzunluğa gibi bir şey olmadığı sürece, girdi olarak matrisin boyutunu alır. Her zaman en az 3 x 3 olacaktır.
Her dilde bayt cinsinden en kısa kod kazanır.
Giriş ve çıkış
Girdi almak için aşağıdaki biçimlerden birini seçebilirsiniz:
- Yerel matris türündeki bir matris (eğer dilinizde bir tane varsa)
- Bir 2D dizi 1 (her biri bir satıra karşılık gelen 1D dizileri dizisi)
- Bir 1D dizisi (matris her zaman kare olduğundan)
- Bir dize (boşluğu seçtiniz, ancak lütfen bunu hiçbir şekilde kötüye kullanmayın).
Çıktı sağlamaya gelince , standart karar problemi tanımını izleyerek bir aşiret / sahtekarlık değeri bildirebilirsiniz ya da iki farklı ve tutarlı değer seçebilirsiniz.
Ayrıca, bu boşlukların varsayılan olarak yasak olduğunu not ederken, herhangi bir programlama dilinde herhangi bir standart yöntemle girdi alabilir ve çıktı verebilirsiniz . Başka bir format seçmek istiyorsanız veya bir şey hakkında emin değilseniz, lütfen yorumlarda sorun.
1: veya dilinizin eşdeğeri (liste, vektör vb.)
Örnekler
Aşağıdaki örneklere bakalım:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
Bu bir ok ucu matrisidir (programlarınız bir hakikat değeri rapor etmelidir), çünkü ana köşegendeki öğeler 1 1 1 1
, üst satırdakiler 1 2 2 2
ve en soldaki sütundakiler 1 2 3 4
. Diğer tüm girişler 0'dır , bu nedenle tüm şartları yerine getirir.
3 5 6 7 1 0 8 0 0
Bu matris ok ucu değildir , çünkü ana diyagonalde 0 vardır .
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
Bu da ok ucu değildir , çünkü 0 yerine 7 içerir .
Daha fazla test vakası
Truthy:
[[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]]