1. 程式人生 > >Flipping the Matrix

Flipping the Matrix

 思路:對於ij位置,有其他3個位置的數可以交換過來。而且可以在不改變upper-left其他部分的情況下交換過來,所以就是取所有upper left ij位置的對應4個位置的max,具體就是以下四個位置

image


# Complete the flippingMatrix function below.
def flippingMatrix(a,n):
    return sum([sum([max(a[i][j],a[2*n-1-i][j],a[i][2*n-1-j],a[2*n-1-i][2*n-1-j]) for j in range(n)]) for i in range(n)])

if __name__ == '__main__':
    q = int(input())
    for q_itr in range(q):
        n = int(input())
        matrix = []
        for _ in range(2*n):
            matrix.append(list(map(int, input().rstrip().split())))
        result = flippingMatrix(matrix,n)
        print(result)