시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB107928213731.640%

문제

\( 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"를 출력한다.

예제 입력 1

2
1 3
2 7

예제 출력 1

7 -3
-2 1

출처

  • 문제를 만든 사람: myungwoo
  • 잘못된 데이터를 찾은 사람: topology