숫자 복원
면접 대비시간 제한1초메모리 제한128 MB
a, b, a²b, ab² 중 일부가 0으로 지워진 한 줄이 주어질 때, 원래 네 수를 복원하고 사전순으로 가장 작은 튜플을 출력한다.
문제
리에네는 대수 수업에서 두 정수 와 를 골랐다. 두 수는 , , 를 만족한다. 리에네는 한 줄에 네 개의 수를 순서대로 적었다. 먼저 와 를, 그다음 를, 마지막으로 을 적었다. 계산에는 오류가 없다.
예를 들어 다음은 올바른 값들이다.
페테르가 이 네 수 중 일부를 지우고 그 자리에 을 적었다. 와 는 이 아니므로 네 수 , , , 은 모두 이 아니다. 따라서 값이 인 칸은 지워진 칸이다.
훼손되었을 수도 있는 한 줄(네 개의 수)이 주어질 때, 원래의 , , , 을 복원하라. 복원 결과가 여러 개라면 사전순으로 가장 작은 것을 출력한다. 즉 가 가장 작은 것을, 가 같다면 가 가장 작은 것을, 그다음 , 그다음 순서로 작은 것을 고른다. (지워지지 않은 수는 모든 복원에서 동일하므로, 이는 왼쪽에서부터 지워진 수를 차례로 최소화하는 것과 같다.)
입력
한 줄에 네 정수가 공백으로 구분되어 주어진다. 훼손되었을 수도 있는 줄 이며, 지워진 수는 으로 표시된다.
출력
복원한 네 정수 을 한 줄에 공백으로 구분하여 출력한다.
제약
- ,
- 입력에는 항상 하나 이상의 유효한 복원이 존재한다.