시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
0.5 초 (추가 시간 없음) 1024 MB 95 16 8 53.333%

문제

주어지는 행렬의 RREF를 출력하자.

RREF(Reduced Row Echelon Form)는 다음과 같은 성질을 가지는 행렬이다.

  • 모든 원소가 $0$인 행(모두 $0$인 행)은 그렇지 않은 행(모든 $0$이 아닌 행)보다 아래쪽에 위치한다.
  • 모든 $0$이 아닌 행의 최고차 계수는 $1$이다.
  • 모든 $0$이 아닌 행의 최고차 계수는 그 위 행의 최고차 계수보다 오른쪽에 있다.
  • 모든 $0$이 아닌 행의 최고차 계수가 위치한 열의 모든 원소는 $0$이다. 

입력

첫째 줄에 행렬의 크기를 나타내는 $N$, $M$이 주어진다. ($1 \leq N, M \leq 5$)

둘째 줄부터 $N$개 줄에 $M$개의 유리수가 주어진다. 유리수는 기약분수 $P$/$Q$ 형태이다. ($P \in \mathbb{Z} \cap \left[-9, 9\right]$, $Q \in \mathbb{Z} \cap \left(0, 9\right]$)

$Q = 1$인 경우는 $P$만 주어지고, $P > 0$이면 부호는 생략한다.

출력

주어진 행렬의 RREF를 출력한다.

행렬의 각 원소는 기약분수 $P$/$Q$ 형태로 출력한다. $Q = 1$인 경우는 $P$만 출력하고, $P > 0$이면 부호는 생략한다.

예제 입력 1

3 5
1 0 0 1 2
0 2 0 2 6
0 1 2 1 3

예제 출력 1

1 0 0 1 2
0 1 0 1 3
0 0 1 0 0

예제 입력 2

3 4
1 2 4 2/3
-2/3 1 2 3
4 -6 7/6 2

예제 출력 2

1 0 0 -16/7
0 1 0 -2591/1659
0 0 1 120/79

노트

RREFReduced Row Echelon Form의 약자이다.

출처

University > 서강대학교 > 2020 Sogang Programming Contest Open Q번

제출할 수 있는 언어

C++17, C11, C99, C++98, C++11, C++14, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)