만드는 중입니다

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

재구역화

시간 제한7초메모리 제한1024 MB

요약
블록 인구가 주어진 직사각형 도시를 W개의 연속된 구역으로 나눠, 구역마다 인구 합이 같아지는지 판단합니다.
난이도

보통10점 중 6점

유형
백트래킹, 완전 탐색, 그래프
정답자
아직 제출이 없습니다

문제

인구가 99명인 5×5=255 \times 5 = 25개의 블록으로 이루어진 작은 도시의 예시이다. 색으로 표시된 부분은 이 도시를 각 33명인 연속된 구역 3개로 나누는 한 가지 방법이다. 다양한 크기의 도시를 고려하여, 블록을 인구가 같은 연속된 구역으로 나눌 수 있는지 판단하라. 모든 도시는 직사각형이며 블록은 최대 25개이다. 원하는 구역의 수는 달라질 수 있다. 두 블록은 변을 공유하면 인접한다. 연속된 구역이란 블록의 집합으로, 구역 안의 한 블록에서 출발해 구역 안에서 인접한 블록으로만 이동하여 구역의 모든 블록에 도달할 수 있는 집합이다.

입력

첫 줄에 직사각형 도시의 행 수와 열 수를 나타내는 두 정수 RR과 CC(1≤R×C≤251 \leq R \times C \leq 25)가 주어진다. 다음 줄에는 원하는 구역의 수 WW(1≤W≤R×C1 \leq W \leq R \times C)가 주어진다. 이어지는 RR줄에는 각각 CC개의 0 이상의 정수가 주어지며, 위쪽 행부터 차례대로 각 행 블록의 인구를 나타낸다. 각 행의 블록은 왼쪽에서 오른쪽 순서로 나열된다. 도시의 총인구는 1,000,0001{,}000{,}000을 넘지 않는다.

출력

주어진 입력으로 재구역화가 가능하면 "Yes"를, 그렇지 않으면 "No"를 출력한다.

예제1

  1. 예제 1

    입력
    5 5
    3
    1 4 12 7 5
    8 10 9 1 2
    2 4 1 2 3
    3 3 5 4 3
    1 2 4 2 1
    
    예상 출력
    Yes