Pagini recente » Cod sursa (job #1639527) | Cod sursa (job #2383517) | Cod sursa (job #836363) | Cod sursa (job #1204379) | Cod sursa (job #2590573)
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)))