У трикутнику Паскаля кожне число є сумою двох чисел безпосередньо над ним, трактуючи порожні плями як нуль:
Обертаючи трикутник, ми можемо вирізати квадратні матриці різної величини та обертання, які я назву матрицями Паскаля . Зауважте, що ці матриці завжди повинні містити верхню . Ось кілька прикладів:
1 1 1 1
1 2 3 4
1 3 6 10
1 4 10 20
6 3 1
3 2 1
1 1 1
1 5 15 35 70
1 4 10 20 35
1 3 6 10 15
1 2 3 4 5
1 1 1 1 1
1
1 1
2 1
Завдання
Давши квадратну матрицю, що містить додатні числа у будь-якому розумному форматі, вирішіть, чи це матриця Паскаля .
Вирішити - означає повернути триєдні або хибні значення залежно від того, чи є вхід матрицею Паскаля , або виправити два постійних значення і повернути одне для справжніх входів, а друге - для помилкових входів.
Це код-гольф , тому постарайтеся використовувати якомога менше байтів мовою, яку ви обрали. Найкоротший код кожної мови виграє, тому відповідь я не прийму.
Тестові справи
Правда
[[1, 1, 1, 1], [1, 2, 3, 4], [1, 3, 6, 10], [1, 4, 10, 20]]
[[6, 3, 1], [3, 2, 1], [1, 1, 1]]
[[1, 5, 15, 35, 70], [1, 4, 10, 20, 35], [1, 3, 6, 10, 15], [1, 2, 3, 4, 5], [1, 1, 1, 1, 1]]
[[1]]
[[1, 1], [2, 1]]
помилковий
[[2]]
[[1, 2], [2, 1]]
[[1, 1], [3, 1]]
[[1, 1, 1, 1], [1, 2, 3, 4], [1, 4, 6, 10], [1, 4, 10, 20]]
[[6, 3, 1], [1, 1, 1], [3, 2, 1]]
[[2, 2, 2, 2], [2, 4, 6, 8], [2, 6, 12, 20], [2, 8, 20, 40]]
[[40, 20, 8, 2], [20, 12, 6, 2], [8, 6, 4, 2], [2, 2, 2, 2]]
[[1, 5, 15, 34, 70], [1, 4, 10, 20, 34], [1, 3, 6, 10, 15], [1, 2, 3, 4, 5], [1, 1, 1, 1, 1]]
[[40, 20, 8, 2], [20, 12, 6, 2], [8, 6, 4, 2], [2, 2, 2, 2]]
. Моя початкова відповідь була невірною для цього, але правильною для всіх поточних тестових випадків.