[BOJ 1518] 뉴 매직 스퀘어
View as PDF
Submit solution
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
Points:
4
Time limit:
2.0s
Memory limit:
128M
Problem types
Allowed languages
세준이는 5×5크기의 사각형에 1부터 25까지의 수를 채워넣으려고 한다. 또, 각각의 행에 대해 모든 수는 왼쪽부터 오른쪽으로 커져가는 순서로 적으려고 한다. 그런데, 어떤 칸은 이미 숫자가 채워져 있는데, 적혀 있는 수는 한 행에 하나를 넘지 않는다. 세준이는 남은 칸을 채워야 한다.</p>
현재 5×5크기의 사각형이 주어지면 마저 채워서 출력하는 프로그램을 작성하시오.
불가능한 경우에는 -1을 출력하고, 답이 여러개인 경우에는 첫 행 첫 열이 작은 것을 출력한다. 만약 같은 경우에는 그다음 열이 작은 것을 출력하고 같을 경우에도 위와 같이 계속 해 나간다.
입력 형식
총 5개의 줄에 5개의 수가 주어진다. 빈 칸은 0으로 주어진다.
출력 형식
5개의 줄에 정답을 출력한다. 불가능한 경우에는 -1을 출력한다.
예제 입력 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
예제 출력 1
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
예제 입력 2
0 0 20 0 0
0 0 0 0 0
0 0 0 5 0
0 0 0 0 0
0 0 0 0 0
예제 출력 2
1 6 20 21 22
7 8 9 10 11
2 3 4 5 12
13 14 15 16 17
18 19 23 24 25
예제 입력 3
0 0 0 0 0
0 0 0 0 24
0 0 0 0 0
0 0 0 0 0
21 0 0 0 0
예제 출력 3
-1
예제 입력 4
0 0 15 0 0
2 0 0 0 0
0 0 0 7 0
0 0 16 0 0
0 0 0 0 21
예제 출력 4
1 3 15 17 18
2 8 9 10 22
4 5 6 7 23
11 12 16 24 25
13 14 19 20 21
Comments