Визначення
Матриця стрілок - це матриця , у якої всі записи дорівнюють 0 , за винятком записів на головному діагоналі, верхньому рядку та в крайньому лівому стовпчику. Іншими словами, матриця повинна виглядати так:
* * * * * * * * 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 *
Де кожен * - це будь-який ненульовий запис.
Завдання
Давши квадратну матрицю невід’ємних цілих чисел, перевірте, чи це стрілка згідно з визначенням вище.
Ви не можете приймати розмір матриці як вхідний, якщо еквівалент масиву вашої мови не є таким, як вказівник і довжина (як C). Це завжди буде не менше 3 х 3.
Виграє найкоротший код у байтах на кожній мові.
Вхід і вихід
Ви можете вибрати один із наступних форматів для отримання вводу:
- Матриця типу рідної матриці (якщо у вашій мові є)
- 2D масив 1 (масив 1D масивів, кожен відповідає одному рядку)
- 1D масив (оскільки матриця завжди квадратна)
- Рядок (ви вибрали інтервал, але будь-яким чином не зловживайте цим).
Що стосується надання результату, ви можете або повідомити про значення truthy / falesy, дотримуючись стандартного визначення проблеми рішення , або вибрати будь-які два чітких і послідовних значень.
Більше того, ви можете приймати дані та давати вихід за допомогою будь-якого стандартного методу на будь- якій мові програмування , беручи до уваги, що ці лазівки заборонені за замовчуванням. Якщо ви хочете вибрати будь-який інший формат або не впевнені в чомусь, будь ласка, запитайте у коментарях.
1: або еквівалент вашої мови (список, вектор тощо)
Приклади
Давайте розглянемо наступні приклади:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
Це матриця із стрілкою (ваші програми повинні повідомляти про правильну величину), оскільки елементи на головній діагоналі є 1 1 1 1
, ті, що знаходяться у верхньому рядку, 1 2 2 2
і ті, що знаходяться в крайньому лівому стовпчику 1 2 3 4
. Усі інші записи дорівнюють 0 , тому це відповідає всім умовам.
3 5 6 7 1 0 8 0 0
Ця матриця НЕ наконечник стріли , бо є 0 на головній діагоналі.
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
Це один НЕ наконечник стріли або, тому що вона містить 7 замість 0 .
Більше тестових випадків
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]]
Фальсі:
[[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]]