ДАЮ 100 БАЛІВ СРОЧНО ЗРОБІТЬ ЗАВДАНЯ Задача A Потрібно написати код на любій мові програмуваня бажано на пайтоні але необовязково
Ответы
Код выбирайте сами, написал несколько вариантов на Python(Последний код на Pascal)
Код 1:
def find_magic_coordinates(matrix):
n = len(matrix)
# Створення списку сум рядків і стовпців
row_sums = [sum(row) for row in matrix]
col_sums = [sum(matrix[i][j] for i in range(n)) for j in range(n)]
# Знаходження індексів мінімальних сум рядків і стовпців
min_row_index = row_sums.index(min(row_sums))
min_col_index = col_sums.index(min(col_sums))
# Виведення результатів
print(min_row_index + 1, min_col_index + 1)
# Зчитування розмірності таблиці
n = int(input())
# Зчитування елементів матриці
matrix = []
for _ in range(n):
row = list(map(int, input().split()))
matrix.append(row)
# Знаходження та виведення координат магічних місць
find_magic_coordinates(matrix)
Код 2:
def find_min_sum_coordinates(matrix):
n = len(matrix)
min_row_sum = float('inf')
min_col_sum = float('inf')
min_row_index = -1
min_col_index = -1
for i in range(n):
row_sum = sum(matrix[i])
col_sum = sum(matrix[j][i] for j in range(n))
if row_sum < min_row_sum:
min_row_sum = row_sum
min_row_index = i + 1 # Індексація від 1, а не від 0
if col_sum < min_col_sum:
min_col_sum = col_sum
min_col_index = i + 1 # Індексація від 1, а не від 0
return min_row_index, min_col_index
# Зчитуємо вхідні дані з файлу
with open('input.txt', 'r') as file:
n = int(file.readline())
matrix = [list(map(int, file.readline().split())) for _ in range(n)]
# Знаходимо координати з найменшою сумою
min_row, min_col = find_min_sum_coordinates(matrix)
# Записуємо вихідні дані у файл
with open('output.txt', 'w') as file:
file.write(f"{min_row} {min_col}")
Код 3(Pascal):
program MagicCoordinates;
const
MaxN = 10;
var
n, i, j, minValue, minRow, minCol: Integer;
matrix: array[1..MaxN, 1..MaxN] of Integer;
begin
// Зчитуємо розмірність таблиці
readln(n);
// Зчитуємо матрицю
for i := 1 to n do
for j := 1 to n do
read(matrix[i, j]);
// Ініціалізуємо змінні для мінімальної суми та її позначення
minValue := MaxInt;
minRow := 0;
minCol := 0;
// Знаходимо мінімальну суму та її позначення
for i := 1 to n do
begin
for j := 1 to n do
begin
if matrix[i, j] < minValue then
begin
minValue := matrix[i, j];
minRow := i;
minCol := j;
end;
end;
end;
// Виводимо результат
writeln(minRow, ' ', minCol);
end.