Визначення
До е кільце квадратної матриці розміру N , де 1 ≤ K ≤ стелю (N / 2) являє собою список , утворений елементами до - й і (N-K + 1) й рядки і стовпці, але без перший і останній елементи k-1 .
Приклад:
Матриця: 1 2 3 4 5 6 7 8 9 1 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 Розмежовується кільцями: + ------------------- + | 1 2 3 4 5 | | + ----------- + | | 6 | 7 8 9 | 1 | | | + --- + | | | 8 | 7 | 6 | 5 | 4 | | | + --- + | | | 3 | 2 1 9 | 8 | | + ----------- + | | 7 6 5 4 3 | + ------------------- +
Перше кільце вищезазначене є 1,2,3,4,5,1,4,8,3,4,5,6,7,3,8,6
, друге - 7,8,9,5,9,1,2,7
третє 6
.
Матриця N від N додатних цілих чисел (для цілей цього виклику):
увігнуті, якщо всі цілі числа на k- му кільці строго більші, ніж ті, що знаходяться на (k + 1) -му кільці, де k - будь-яке ціле число між 1 і N (ті, що на першому кільці, більше, ніж на другому, які є у свою чергу більший, ніж на третьому тощо). Приклад:
4 5 6 4 7 -> тому, що 4,5,6,4,7,4,8,5,5,4,6,5,9,5,5,4 всі вище, ніж 4 3 2 2 4 будь-які 3,2,2,3,2,3,3,2, які всі вище, ніж 1 5 2 1 3 8 5 3 3 2 5 9 5 6 4 5
плоскі, якщо всі цілі числа в матриці рівні. Інший приклад (можливо, зайвий):
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
опуклий, якщо всі цілі числа на k- му кільці суворо нижчі, ніж ті, що знаходяться на (k + 1) -му кільці, де k - будь-яке ціле число між 1 і N (ці на першому кільці нижчі, ніж на другому, які є у свою чергу нижче, ніж на третій тощо). Приклад:
1 2 1 -> тому що 1 і 2 обидві нижче, ніж 6 2 6 2 1 2 1
змішана, якщо матриця не відповідає жодному з наведених вище критеріїв. Приклад:
3 3 3 3 3 3 2 2 2 3 3 2 3 2 3 3 2 2 2 3 3 3 3 3 3
Виклик
Давши квадратну матрицю натуральних чисел розміром принаймні 3 , класифікуйте її згідно з визначеннями вище. Тобто виведіть одне з чотирьох різних послідовних значень на основі того, чи є матриця увігнутою, плоскою, опуклою або змішаною.
Ви можете змагатись на будь- якій мові програмування і можете приймати введення та надавати висновки будь-яким стандартним методом та у будь-якому розумному форматі, при цьому зазначаючи, що ці лазівки заборонені за замовчуванням. Це код-гольф , тому найкоротше подання (у байтах) на кожну мову виграє.
Тестові справи
Ось вам кілька прикладів на вибір - я вибрав 6 з кожної категорії.
Увігнуті
[[3, 3, 3], [3, 1, 3], [3, 3, 3]]
[[2, 3, 4], [5, 1, 6], [7, 8, 9]]
[[19, 34, 45], [34, 12, 14], [13, 13, 13]]
[[3, 4, 3, 4], [4, 2, 1, 3], [3, 1, 2, 4], [4, 3, 4, 3]]
[[4, 5, 6, 4, 7], [4, 3, 2, 2, 4], [5, 2, 1, 3, 8], [5, 3, 3, 2, 5], [9, 5, 6, 4, 5]]
[[7, 7, 7, 7, 7], [7, 6, 6, 6, 7], [7, 6, 5, 6, 7], [7, 6, 6, 6, 7], [7, 7, 7, 7, 7]]
Квартира
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
[[2, 2, 2], [2, 2, 2], [2, 2, 2]]
[[8, 8, 8], [8, 8, 8], [8, 8, 8]]
[[120, 120, 120], [120, 120, 120], [120, 120, 120]]
[[10, 10, 10, 10], [10, 10, 10, 10], [10, 10, 10, 10], [10, 10, 10, 10]]
[[5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5], [5, 5, 5, 5, 5, 5]]
Опукла
[[1, 2, 1], [2, 6, 2], [1, 2, 1]]
[[1, 1, 1], [1, 2, 1], [1, 1, 1]]
[[19, 34, 45], [34, 76, 14], [13, 6, 13]]
[[3, 3, 3, 3], [3, 4, 4, 3], [3, 4, 4, 3], [3, 3, 3, 3]]
[[192, 19, 8, 6], [48, 324, 434, 29], [56, 292, 334, 8], [3, 4, 23, 23]]
[[291, 48, 7, 5], [47, 324, 454, 30], [58, 292, 374, 4], [9, 2, 53, 291]]
Змішаний
[[1, 2, 3], [4, 5, 9], [6, 7, 8]]
[[10, 14, 21], [100, 8, 3], [29, 2, 19]]
[[5, 5, 5, 5], [5, 4, 4, 5], [5, 4, 6, 5], [5, 5, 5, 5]]
[[3, 3, 3, 3], [3, 1, 2, 3], [3, 3, 2, 3], [3, 3, 3, 3]]
[[12, 14, 15, 16], [12, 18, 18, 16], [12, 11, 11, 16], [12, 14, 15, 16]]
[[5, 5, 5, 5, 5], [5, 4, 4, 4, 5], [5, 4, 6, 4, 5], [5, 4, 4, 4, 5], [5, 5, 5, 5, 5]]