(백준) 27648 – 증분 배열 생성(C++)

쉬운 목차

질문

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

설명하다

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

사용되는 숫자는 1부터 K까지의 정수이지만, 같은 숫자를 두 번 사용하거나 특정 숫자가 없는 등의 조건이 없기 때문에 배열을 자유롭게 구성할 수 있습니다.

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;
}