Определение
Матрица со стрелками - это матрица , в которой все записи равны 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 массив (так как матрица всегда квадратная)
- Строка (вы выбрали интервал, но не злоупотребляйте этим).
Когда дело доходит до предоставления вывода, вы можете либо сообщить истинное / ложное значение, следуя стандартному определению проблемы решения , либо выбрать любые два различных и непротиворечивых значения.
Более того, вы можете принимать и выводить данные любым стандартным методом на любом языке программирования , при этом отмечая, что эти лазейки по умолчанию запрещены. Если вы хотите выбрать любой другой формат или не уверены в чем-то, пожалуйста, спросите в комментариях.
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]]
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]]