시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 1070 | 280 | 136 | 31.850% |
\( 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