Cod sursa(job #3005372)

Utilizator remxs2kNotar Remus remxs2k Data 16 martie 2023 22:05:15
Problema Jocul Flip Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 0.86 kb
with open("flip.in", "r") as f:
    n, m = map(int, f.readline().split())
    matrix = [list(map(int, f.readline().split())) for _ in range(n)]

# Aplică operația de flip asupra unei linii sau coloane
def flip(line_or_col):
    for i in range(n):
        if line_or_col == "line":
            matrix[i] = [-x for x in matrix[i]]
        else:
            matrix[i][line_or_col] = -matrix[i][line_or_col]

# Calculează suma elementelor din matrice
def matrix_sum():
    return sum(sum(row) for row in matrix)

# Parcurge toate combinațiile de flip-uri posibile și alege cea cu suma maximă
max_sum = matrix_sum()
for i in range(n + m):
    if i < n:
        flip("line")
    else:
        flip(i - n)
    current_sum = matrix_sum()
    if current_sum > max_sum:
        max_sum = current_sum

with open("flip.out", "w") as g:
    g.write(str(max_sum))