티스토리 뷰

Problem Solving/백준 온라인 저지

15651-N과 M (3)

developer0hye 2020. 10. 26. 12:51

www.acmicpc.net/problem/15651

 

15651번: N과 M (3)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

N개의 원소 중에서 M개의 원소를 중복을 허용하여 사전 순으로 뽑는 경우를 탐색하는 문제입니다.  개인적으로 N과 M (1)N과 M (2) 문제가 더 어려웠던 것 같습니다.

코드

#include <iostream>
using namespace std;

int N;
int M;
int numbers[9] = {0,};

void permutation(int len)
{
    if(len == M + 1)
    {
        for(int i = 1; i <= len - 1; i++)
        {
            cout << numbers[i] << " ";
        }
        cout << '\n';
        return;
    }

    for(int i = 1; i <= N; i++)
    {
        numbers[len] = i;
        permutation(len + 1);
    }

}

int main()
{
    cin >> N >> M;
    permutation(1);
    return 0;
}

'Problem Solving > 백준 온라인 저지' 카테고리의 다른 글

15654-N과 M (5)  (0) 2020.10.26
15652-N과 M (4)  (0) 2020.10.26
15650-N과 M (2)  (0) 2020.10.24
15649-N과 M (1)  (0) 2020.10.24
17471-게리맨더링  (0) 2020.10.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함