Cod sursa(job #2590587)

Utilizator beo1980Vlad Beu beo1980 Data 28 martie 2020 14:43:11
Problema Jocul Flip Scor 30
Compilator py Status done
Runda Arhiva de probleme Marime 1.25 kb
matrix = []
matrixT = []
rezultat=1

def sumL(i):
    sum = 0;
    for j in range(0,matrix_m):
        sum += matrix[i][j]
    return sum

def sumC(i):
    sum = 0
    for i in range(0,matrix_n):
        sum += matrix[i][j]
    return sum

def schimbaL(i):
    for j in range(0,matrix_m):
        matrix[i][j]*=-1

def schimbaC(j):
    for i in range(0,matrix_n):
        matrix[i][j]*=-1


with open('flip.in','r') as f:
    a = [int(x) for x in f.readline().split()]
    l = []
    for line in f:
        matrixT.append(line.split())
    #matrixT = [line.split()] for line in f])
    matrix =  [[int(x) for x in line] for line in matrixT]
    #print(matrix)
#print(np.sum(matrix))
notOver = True
matrix_n = a[0]
matrix_m = a[1]
while notOver:
    min = 0
    l = -1
    c = -1
    for i in range(0,matrix_n):
        if sumL(i) < min:
            l = i
            min = sumL(i)

    for j in range(0,matrix_m):
        if sumC(j) < min:
            c = j
            min - sumC(j)
    if c!=-1:
        schimbaC(c)
        continue
    if l != -1:
        schimbaL(l)
    if min == 0:
        notOver = False
sum = 0
for i in range(0,matrix_n):
    sum+=sumL(i)
with open('flip.out','w') as g:
    g.write(str(sum))