Pagini recente » Cod sursa (job #2592340) | Cod sursa (job #2022953) | Cod sursa (job #462343) | Cod sursa (job #1272521) | Cod sursa (job #3005372)
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))