• + 0 comments
    def formingMagicSquare(s):
        magic_matrix = [
            [[8, 1, 6], [3, 5, 7], [4, 9, 2]],
            [[6, 1, 8], [7, 5, 3], [2, 9, 4]],
            [[4, 9, 2], [3, 5, 7], [8, 1, 6]],
            [[2, 9, 4], [7, 5, 3], [6, 1, 8]],
            [[8, 3, 4], [1, 5, 9], [6, 7, 2]],
            [[4, 3, 8], [9, 5, 1], [2, 7, 6]],
            [[6, 7, 2], [1, 5, 9], [8, 3, 4]],
            [[2, 7, 6], [9, 5, 1], [4, 3, 8]]
        ]
        costs = []
        for matrix in magic_matrix:
            diff = []
            for i in range(3):
                for j in range(3):
                    diff.append(abs(s[i][j] - matrix[i][j]))
            costs.append(sum(diff))
        
        return min(costs)