[백준] 27648 – 증가 배열

쉬운 목차

문제

#27648: 증분 어레이 생성(acmicpc.net)

설명

문제는 배열의 첫 번째 부분(1, 1)에서 시작하여 오른쪽 아래로 모든 경로에 대해 오름차순으로 배열을 만드는 것입니다.

사용할 숫자는 1에서 K까지의 정수이지만 다음과 같은 조건은 없습니다.
B. 같은 번호를 두 번 사용하거나 특정 번호를 가지지 않고 어레이를 자유롭게 구성할 수 있습니다.

3 5 15에서 다음 배열을 구성했습니다.

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

#include <iostream>
using namespace std;

int main() {
    int N, M, K;
    cin >> N >> M >> K;
    
    if (1 * N + M - 1 > K) {
        cout << "NO";
    }
    
    else {
        int count = 1;
        cout << "YES\n";
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < M; j++) {
                cout << count << " ";
                count++;
            }
            count = i + 2;
            cout << "\n";
        }
    }

    return 0;
}