Cod sursa(job #2590573)

Utilizator beo1980Vlad Beu beo1980 Data 28 martie 2020 13:52:52
Problema Jocul Flip Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 1.07 kb
import numpy as np
nr=0
matrix = []
matrixT = []
rezultat=1

def sumL(i):
    return np.sum(matrix[i])

def sumC(i):
    return np.sum(matrix,axis=0)[i]

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 = []
    matrixT = np.array([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

with open('flip.out','w') as g:
    g.write(str(np.sum(matrix)))