X. 색 채우기(중)

View as PDF

Submit solution

Points: 10
Time limit: 1.0s
Java 8 1.5s
Python 1.5s
Memory limit: 64M
Java 8 128M
Python 128M

Author:
Problem type

그림판의 "색 채우기" 기능을 구현해 보자.

이 기능을 선택한 뒤에 어떤 픽셀을 클릭하면

그 픽셀에서부터 동일한 색상을 가진 인접한 상하좌우 픽셀로 연쇄적으로 퍼져나가면서,

그 영역의 픽셀을 모두 사용자가 지정한 색 \(K\)로 바꾼다.

직사각형의 흑백 그림과 사용자가 클릭한 지점이 주어질 때

"색 채우기"를 통해 변환된 그림을 출력하는 프로그램을 작성하시오.

입력

  • 첫 번째 줄에 그림의 세로 픽셀 수 \(Y\), 가로 픽셀 수 \(X\)가 주어진다.\((1 ≤ Y ≤ 100, 1 ≤ X ≤ 100)\)
  • 두 번째 줄에 사용자가 선택한 픽셀의 세로 위치 \(R\), 가로 위치 \(C\)가 주어진다. 번호는 각각 \(1\)부터 \(Y\)까지, \(1\)부터 \(X\)까지 매겨져 있다.
  • 세 번째 줄에 사용자가 지정한 색 \(K\)가 주어진다.\((0 ≤ K ≤ 255)\)
  • 그 다음 줄부터 \(Y\)개의 줄에 그림의 색상 정보가 들어온다. 모든 색상은 \(0\) 이상 \(255\) 이하이다.
  • 모든 입력값은 정수이다.

출력

  • \(Y\)개의 줄에 변환된 그림의 색상 정보를 출력한다.

입력 예시 1

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

출력 예시 1

2 2 2 2
3 3 2 2
1 2 2 2

Comments

There are no comments at the moment.