Pagini recente » Borderou de evaluare (job #2036802) | Borderou de evaluare (job #1426202) | Cod sursa (job #101130) | Cod sursa (job #2412050)
q, j, total_s, commuted_columns_s, commuted_rows_s, columns_s, rows_s = 2, 2, 0, 0, 0, 0, 0
with open("flip.in", "r") as fisierIN:
lines = fisierIN.readlines()
N = int(lines[0])
M = int(lines[1])
# COLUMNS:
# Only checking which columns we should commute!
while j < M + 2:
# THE (COMMUTED OR NOT) SUM OF THE COLUMNS.
for k in range(j, len(lines), M):
columns_s += int(lines[k])
# print("columns_s is:", columns_s)
if columns_s < 0:
commuted_columns_s += abs(columns_s)
# columns_s = 0
# j += 1
# continue
total_s += columns_s
# print("total_s is:", total_s)
columns_s = 0
j += 1
# print(total_s)
# ROWS:
# Only checking which rows we should commute!
while q < len(lines):
for i in range(q, q + M):
rows_s += int(lines[i])
if rows_s < 0:
commuted_rows_s += abs(rows_s)
rows_s = 0
q += M
continue
# total_s += rows_s
rows_s = 0
q += M
# print(commuted_columns_s, commuted_rows_s)
# print(total_s - z)
# print("columns_s is:", columns_s, "|", "rows_s is:", rows_s, "|", "total_s is:", total_s)
with open("flip.out", "w") as fisierOUT:
if total_s < 0:
fisierOUT.write(str(abs(total_s)))
else:
fisierOUT.write(str(total_s + 2*(commuted_columns_s + commuted_rows_s)))
# i + 1 -> columns
# i - 1 -> rows
# WE SHOULD PROBABLY **FIRST** CHECK WHICH ROWS OR/AND COLUMNS WE COMMUTE.
# Check for N = M = 1 too.
# -
# 5
# 3
# 4
# -2
# 2
# 3
# -1
# 5
# 2
# 0
# -3
# 4
# 1
# -3
# 5
# -3
# 2
# -