https://www.acmicpc.net/problem/15650
문제 이해
DFS를 이용해서 모든 수열을 구하면 된다.
작성 코드
#include <iostream>
using namespace std;
int N, M;
int visited[9];
int ans[9];
void Check(int cnt, int start){
if(cnt == M){
for(int i = 0; i<M; i++){
cout << ans[i] << " ";
}
cout << "\n";
return;
}
else{
for(int i = start; i<=N; i++){
if(!visited[i]){
visited[i] = 1;
ans[cnt] = i;
Check(cnt+1, i+1);
visited[i] = 0;
}
}
}
}
int main(void){
cin >> N >> M;
Check(0, 1);
}
'컴퓨터기본 > 문제풀이' 카테고리의 다른 글
[백준] 2589번: 보물섬 (0) | 2021.09.14 |
---|---|
[백준] 15651번. N과 M(3) (0) | 2021.09.13 |
[백준] 15649번: N과 M(1) (0) | 2021.09.12 |
[백준] 10814번: 나이순 정렬 (0) | 2021.09.11 |
[백준] 1181번: 단어 정렬 (0) | 2021.09.11 |