QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 64 MB Total points: 100

#23716. 로고 마크 / Logo

Statistics

다가오는 20XX년, 국제 정보학 축제(International Omatsuri in Informatics)가 일본에서 열리게 되었다. 이에 따라 개최를 준비하며 당신은 이 축제의 로고 마크를 제작하게 되었다.

국제 정보학 축제의 로고 마크는 매번 어떤 일정한 그림을 밑바탕으로 하여 만들어진다. 이 그림은 가로 $W$개, 세로 $H$개의 직사각형 모양으로 나열된 정사각형 칸들 중 몇 개의 칸으로 구성되어 있다. 이번에 당신은 이 그림을 일본 국기의 색인 빨간색과 흰색으로 나누어 칠해 로고 마크로 삼기로 했다. 색칠 작업을 복잡하게 하지 않기 위해, $1$개의 칸에는 $1$가지 색만 사용할 수 있다.

어떻게 나누어 칠하는 것이 좋을지 결정하기 위해, 당신은 아는 디자이너에게 조언을 구했다. 그의 훌륭한 미적 감각에 따르면, 빨갛게 칠해진 영역과 하얗게 칠해진 영역이 모두 선대칭 도형이 되는 디자인이 바람직하다고 한다. 또한, 색의 균형을 생각하면 빨갛게 칠할 칸의 개수는 $K$개로 하는 것이 좋다는 말도 들었다. 이러한 조건에 따른 색칠 방법을 그는 알려주지 않았으므로, 당신은 스스로 색칠 방법을 구해야 한다. 그림 및 $K$의 값이 주어졌을 때, 조건을 만족하는 색칠 방법을 $1$개 구하는 프로그램을 작성하라.

입력

$1$번째 줄에는 $3$개의 정수 $W, H, K$ ($1 \le W \le 40$, $1 \le H \le 40$, $1 \le K \le WH - 1$)가 공백으로 구분되어 적혀 있다. 이는 주어진 그림의 가로 폭, 세로 폭과 빨갛게 칠할 칸의 개수를 나타낸다.

이어지는 $H$개의 줄은 그림의 데이터를 나타낸다. $i + 1$번째 줄 ($1 \le i \le H$)에는 $W$개의 $0$ 또는 $1$이 공백으로 구분되어 적혀 있다. $i + 1$번째 줄의 $j$번째 ($1 \le j \le W$) 정수가 $1$일 때는 위에서 $i$번째, 왼쪽에서 $j$번째 칸이 그림에 사용됨을 나타내며, $0$일 때는 그 칸이 그림에 사용되지 않음을 나타낸다. 그림에는 반드시 $2$개 이상의 칸이 사용된다. $K$의 값은 그림에 사용된 칸의 개수보다 작음이 보장된다.

채점에 사용되는 어떤 입력에서도 조건을 만족하는 색칠 방법은 적어도 $1$개 존재한다.

출력

출력은 표준 출력으로 수행할 것. 색칠 방법을 나타내는 정수를 각 줄에 공백으로 구분하여 $W$개씩, $H$개의 줄에 걸쳐 출력하라. $i$번째 줄의 $j$번째 정수가 $1$인 경우 위에서 $i$번째, 왼쪽에서 $j$번째 칸을 빨갛게 칠함을 나타내며, $2$인 경우 그 칸을 하얗게 칠함을 나타낸다. 그림에 사용되지 않은 칸에 대해서는 $0$을 출력하라.

여러 가지 색칠 방법이 가능한 경우에는 그중 어느 것을 출력해도 좋다.

채점 기준

채점에 사용되는 데이터 중 배점의 $20\%$분에 대해서는 $W, H \le 5$이다.

예제 입력 1

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

예제 출력 1

0 2 0 0
1 0 2 1
2 0 0 0

이 출력은 다음과 같은 색칠 방법에 대응한다. 회색 칸은 빨갛게 칠함을, 흰색 칸은 하얗게 칠함을 나타낸다. 파선과 점선은 각각 빨간 영역, 흰 영역의 대칭축이다.

problem_23716_f29f24931b8f41fc37021f4ae1fdfcfe.png

다음과 같은 색칠 방법은 조건을 만족하지 않는다:

problem_23716_18a85da7c1f14d92f4958c79520d922b.png
빨간 영역이 선대칭이 아니다
problem_23716_1a8c14d35eccc4cea02bc0409cbf6510.png
빨갛게 칠해진 칸의 개수가 $2$가 아니다

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.