증가 배열 만들기
시간 제한1초메모리 제한1024 MB
N×M 격자의 각 칸을 1 이상 K 이하의 정수로 채워, 왼쪽 위에서 오른쪽 아래로 가는 모든 오른쪽/아래 경로가 순증가하도록 만들고, 불가능하면 NO를 출력한다.
문제
크기의 차원 배열이 있다. 당신은 배열의 각 칸에 이상 이하의 정수를 채워 넣어 배열을 증가 상태로 만들고자 한다.
배열이 증가 상태라는 것은 에서 출발해서 을 향해 오른쪽이나 아래쪽으로 이동할 때 가능한 모든 경로에 대해, 각 경로에서 방문한 칸의 수를 처음부터 일렬로 나열한 수열이 오름차순임을 의미한다.
- 오른쪽이나 아래쪽으로 이동한다는 것은, 에서 와 로 움직인다는 것이다. 단, 배열 밖으로는 이동할 수 없다.
- 수열 가 오름차순이라는 것은 임을 의미한다.
입력
첫째 줄에 , , 가 주어진다.
출력
조건에 맞는 배열이 존재하면 첫 번째 줄에 YES를 출력하고 두 번째 줄부터 개의 각 줄에 이상 이하의 수 개를 공백으로 구분하여 출력하라. 조건에 맞는 배열이 여러 개일 경우 그중 하나만 출력한다.
그런 배열이 존재하지 않으면 NO를 출력하라.