Cod sursa(job #2329391)

Utilizator draducanuDragos Raducanu draducanu Data 26 ianuarie 2019 18:04:32
Problema Jocul Flip Scor 20
Compilator py Status done
Runda Arhiva de probleme Marime 0.95 kb
class Flip:

    def __init__(self, mat, n, m) -> None:
        super().__init__()
        self.mat = mat
        self.semn = [1 for i in range(m)]
        self.n = n
        self.m = m



    def flip(self, k):
        if k == m:

            sum = 0
            for i in range(n):
                scol = 0
                for j in range(m):
                    scol += self.mat[i][j] * self.semn[j]
                sum += abs(scol)

            return sum
        else:
            self.semn[k] = 1
            newSol1 = self.flip(k + 1)
            self.semn[k] = -1
            newSol2 = self.flip(k + 1)

            return newSol1 if newSol1 > newSol2 else newSol2


fileIn = open('flip.in', 'r')
fileOut = open('flip.out', 'w')

n, m = [int(num) for num in fileIn.readline().split(' ')]

mat = [[int(num) for num in line.split(' ')] for line in fileIn]

print(Flip(mat, n, m).flip(0))

fileOut.write(str(Flip(mat, n, m).flip(0)))


fileIn.close()
fileOut.close()