SOJ ONLINE JUDGE

문제 121

나머지 행렬의 기약 행사다리꼴

내 상태
미제출
난이도
121번 문제 난이도 보기
Platinum V
출제자
rlatjwls7882
시간 제한
3000 ms
메모리 제한
1024 MB
121번 문제 태그 보기
구현

$N$행 $M$열인 행렬 $A$와 모드를 나타내는 정수 $T$가 주어진다. 행의 인덱스는 $1$부터 $N$까지이고, 열의 인덱스는 $1$부터 $M$까지이다. 모든 계산을 소수 $10^9+7$로 나눈 나머지로 하여 다음 값을 구해 보자.

  • $A$의 랭크와 기약 행 사다리꼴
  • 정사각형 모드($T=1$)인 경우 행렬식과, 존재한다면 역행렬

입력

첫 번째 줄에 세 정수 $T$, $N$, $M$이 공백으로 구분되어 주어진다. $(T \in \{0, 1\}; 1 \le N \le 200; 0 \le M \le 200; T=1 \text{이면 } N=M)$

두 번째 줄부터 $N$개의 줄에 걸쳐 행렬 $A$의 각 행이 순서대로 주어진다. 각 행에는 정수 원소 $A_{i,1}, A_{i,2}, \cdots, A_{i,M}$이 공백으로 구분되어 주어진다. $(0 \le A_{i,j} < 10^9+7)$ $M=0$이면 행렬의 원소를 나타내는 줄은 생략한다.

출력

첫 번째 줄에 랭크를 출력한다. $T=1$이면 두 번째 줄에 행렬식을 출력한다.

그다음 줄부터 $N$개의 줄에 걸쳐 기약 행 사다리꼴의 각 행을 순서대로 출력한다. $T=1$이고 역행렬이 존재하면 그다음 줄부터 $N$개의 줄에 걸쳐 역행렬의 각 행을 순서대로 출력한다. 각 행의 원소는 공백으로 구분하여 출력한다. 빈 행은 빈 줄로 출력한다.

예제 입력 1

1 2 2
3 2
1 3

예제 출력 1

2
7
1 0
0 1
428571432 714285719
857142863 428571432

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.