문제
축구 경기의 성적표가 입력되고, 비어 있는 부분이 존재할 때, 이를 복원하는 프로그램을 작성하라.
축구 경기 성적표는 각 팀에 대해 다음과 같이 입력된다.
<경기수> <이긴횟수> <비긴횟수> <진횟수> <승점>
<경기수>는 반드시 다음과 같아야 한다.
<경기수> = <이긴횟수> + <비긴횟수> + <진횟수>
<승점>은 다음과 같아야 한다.
<승점> = <이긴횟수> x 3 + <비긴횟수>
이를 토대로 순위표를 완전히 복원하는 프로그램을 작성하라.
입력
입력의 첫 번째 줄에는 팀의 숫자 N(1 <= N <= 1,000)이 입력된다.
그 다음 줄부터 N개의 줄은 각 팀의 성적이 입력되며, 각 줄의 양식은 다음과 같다.
<경기수> <이긴횟수> <비긴횟수> <진횟수> <승점>
입력은 0 이상의 양의 정수이며, 비어 있는 경우는 숫자 대신 '?'가 입력된다.
경기 수는 최대 100 경기이며, 비어있는 곳을 올바르게 채울 수 있는 경우의 수는 반드시 한 가지가 되게 입력된다.
출력
복원된 순위표를 N개의 줄에 걸쳐 입력 형식과 동일하게 출력한다.
예제
5
27 21 3 3 66
27 18 6 3 ?
? 15 5 7 50
? 14 7 5 ?
? 14 ? 8 47
27 21 3 3 66
27 18 6 3 60
27 15 5 7 50
26 14 7 5 49
27 14 5 8 47
출처
COCI 2006/2007 contest5 4