3
2 7 6
9 5 1
4 3 8
Вывод: NO
Пример 3:
Ввод:
2
1 2
3 4
Вывод: NO
Решение:
1. Считать размерность матрицы (n) и её элементы.
2. Проверить, что все числа от 1 до (n^2) присутствуют в матрице.
3. Вычислить сумму первой строки (или любого другого ряда) как эталонную сумму.
4. Проверить, что суммы всех строк, столбцов и диагоналей равны эталонной сумме.
5. Вывести результат проверки.
Пример кода на Python:
```python
def is_magic_square(matrix):
n = len(matrix)
# Проверка, что все числа от 1 до n^2 присутствуют
all_numbers = set(range(1, n*n + 1))
numbers_in_matrix = set(num for row in matrix for num in row)
if all_numbers != numbers_in_matrix:
return False
# Вычисление эталонной суммы
magic_sum = sum(matrix[0])
# Проверка строк
for row in matrix:
if sum(row) != magic_sum:
return False
# Проверка столбцов
for col in range(n):
if sum(matrix[row][col] for row in range(n)) != magic_sum:
return False
# Проверка диагоналей
if sum(matrix[i][i] for i in range(n)) != magic_sum:
return False
if sum(matrix[i][n-i-1] for i in range(n)) != magic_sum:
return False
return True
# Чтение данных
n = int(input())
matrix = [list(map(int, input().split())) for _ in range(n)]
# Проверка и вывод результата
if is_magic_square(matrix):
print("YES")
else:
print("NO")