만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

버섯 농장

면접 대비

시간 제한2초메모리 제한512 MB

요약
키울 수 있는 칸이 연결된 영역마다 필요한 포자 수를 구하고, 남는 포자 수를 출력합니다.
난이도

쉬움10점 중 3점

유형
BFS, 그래프, 행렬
정답자
아직 제출이 없습니다

문제

농부 해강이는 N×NN \times N 칸으로 이루어진 나무판에서 버섯 농사를 짓는다. 각 칸은 버섯이 자랄 수 있는 칸이거나 자랄 수 없는 칸이다.

해강이는 버섯 포자 MM개를 가지고 있다. 버섯 포자는 버섯이 자랄 수 있는 칸에만 심을 수 있다.

버섯 포자 하나는 포자가 심어진 칸을 포함해 최대 KK개의 연결된 칸에 버섯을 자라게 한다. 연결된 칸이란 상하좌우로 적어도 한 변을 공유하는 칸들의 집합을 말한다. 이때 버섯이 자랄 수 있는 칸만 대상이다.

한 칸에 버섯 포자를 여러 개 겹쳐 심을 수 있다. 포자 xx개를 한 칸에 겹쳐 심으면, 그 칸을 포함해 최대 x×Kx \times K개의 연결된 칸에 버섯이 자란다.

<그림 1> K=4K = 4일 때 버섯이 자라는 모습이다.

<그림 2> K=10K = 10일 때 버섯이 자라는 모습이다.

해강이는 버섯 포자를 최소 개수로만 심으려고 한다. 농사가 가능한지 판단하고, 가능하다면 남은 버섯 포자의 개수를 출력하시오.

버섯 포자를 하나라도 사용하고 버섯이 자랄 수 있는 모든 칸에 버섯이 자랐을 때 농사가 가능하다고 한다.

입력

첫 번째 줄에 NN, MM, KK가 공백으로 구분되어 주어진다.

두 번째 줄부터 NN개의 줄에 나무판의 각 칸의 상태가 공백으로 구분되어 주어진다. 버섯이 자랄 수 있는 칸은 0, 버섯이 자랄 수 없는 칸은 1로 주어진다.

출력

버섯 농사가 불가능하면 IMPOSSIBLE을 출력한다.

버섯 농사가 가능하면 POSSIBLE을 출력하고, 다음 줄에 남은 버섯 포자의 개수를 출력한다.

제한

  • 1≤N≤1001 \leq N \leq 100
  • 0≤M≤1 000 0000 \leq M \leq 1\,000\,000
  • 1≤K≤1081 \leq K \leq 10^8
  • NN, MM, KK는 모두 정수이다.

예제4

  1. 예제 1

    입력
    5 100 1
    1 1 1 0 0
    1 0 1 0 0
    0 0 1 1 1
    1 1 0 0 0
    0 1 1 0 1
    
    예상 출력
    POSSIBLE
    88
    
  2. 예제 2

    입력
    5 5 1
    1 1 1 0 0
    1 0 1 0 0
    0 0 1 1 1
    1 1 0 0 0
    0 1 1 0 1
    
    예상 출력
    IMPOSSIBLE
    
  3. 예제 3

    입력
    5 100 3
    1 1 1 0 0
    1 0 1 0 0
    0 0 1 1 1
    1 1 0 0 0
    0 1 1 0 1
    
    예상 출력
    POSSIBLE
    94
    
  4. 예제 4

    입력
    5 5 3
    1 1 1 0 0
    1 0 1 0 0
    0 0 1 1 1
    1 1 0 0 0
    0 1 1 0 1
    
    예상 출력
    IMPOSSIBLE