시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 128 MB 54 0 0 0.000%

문제

\( n \times n\) 행렬이 주어졌을 때, 그 행렬의 역행렬을 구하는 프로그램을 작성하시오.

행렬 \(A\)가 주어졌을 때, \(AB = BA = I_n\)를 만족하는 행렬 \(B\)를 역행렬이라고 하며, \(A^{-1}\)로 표기한다. \(I_n\)은 \(n \times n\) 단위행렬이며, \(i \ne j\)일 때 \(I_{i,j} = 0\)이며, \(I_{i,i} = 1\)이다.

입력

첫째 줄에 행렬의 크기 \(N\)이 주어진다. (1 ≤ \(N\) ≤ 500)

다음 \(N\)개 줄에 행렬 \(A\)의 정보가 주어진다. 각 줄은 \(N\)개의 정수로 이루어져 있으며, 정수의 절대값은 1,000보다 작거나 같다.

출력

\(A\)의 역행렬이 존재하면 \(N\)개의 줄에 걸쳐 \(A^{-1}\)의 정보를 출력한다. 실수가 될 수 있기 때문에, 10-6 이내의 오차 범위 내에 있어야 정답으로 처리된다. 만약, 역행렬이 존재하지 않는 경우에는 "no inverse"를 출력한다.

예제 입력

2
1 3
2 7

예제 출력

7 -3
-2 1

힌트

출처