Algorithm/BOJ

[백준 알고리즘/BOJ/C++] 15651 N과 M (3)

pinevienna 2021. 1. 30. 15:26

 

 

이번엔 (1), (2)와 다르게 중복을 허용한다

 

중복을 체크하는 역할을 하던 isused를 빼버리면 된다

 

 

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
#include <iostream>
using namespace std;
 
int n, m;
int arr[10];
 
void func(int k) {
    if (k == m) {
        for (int i = 0; i < m; i++)
            cout << arr[i] << ' ';
        cout << "\n";
        return;
    }
    for (int i = 1; i <= n; i++) {
        arr[k] = i;
        func(k + 1);
    }
}
 
int main(void) {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
 
    cin >> n >> m;
    func(0);
}
cs

 

하나를 풀면 여러개가 풀려서 기분 좋은 시리즈..