[Home|Training|Problems|Contests|C Language] | [Login|Register] |
Problems Status Rank |
Problem 1041
Matrix Sum
Time Limit: 1000ms
Memory Limit: 65536kb Description
Bob is a mathematician. One day Bob discovers a kind of matrix sum. He denotes it as [A] (A is a square matrix). This is how [A] is defined: Suppose A=(a_ij)n*n is a matrix, then[A]=a_11*[A11]-a_12*[A12]+a_13*[A13]+...+(-1)^(n-1)*a_1n*[A1n], if n>=2; [A]=a_11, if n=1.Aij is the matrix got by deleting row i and column j from matrix A. For example: 1 2 3 4 6 A=4 5 6 A12= 7 8 9 7 9Bob discovers that this sum has wonderful properties. In order to understand it more clearly, he needs to calculate some [Aij], but it's difficult for him when the matrix is large. Now, Bob needs your help. Can you write a program to work them out? Input
There are at most 20 test cases. The first line of each case is an integer n (2<=n<=8). The following n lines are a matrix A=(a_ij)n*n. All matrix elements are integers in the range [0,9]. It is guaranteed that the matrix sum [A] is not zero.
A case with n=0 marks the end of input. This case should not be processed. Output
For each case, print n lines with n integers each. The j-th integer on the i-th line is the value of [Aij]. The adjacent integers are separated with a space.
Sample Input
2 1 0 0 1 3 0 1 2 3 2 3 4 0 2 0 Sample Output
1 0 0 1 4 -6 -8 2 -8 -4 -1 -6 -3 |