2025. 1. 14. 02:11, 코딩테스트
https://www.acmicpc.net/problem/15651
1부터 N까지 자연수 중에서 M개를 고른 수열을 구하려면
아래 코드와 같이 재귀를 사용해서 간단하게 중첩 for문을 작성하면 된다
이는 백트래킹의 기반 코드이므로 꼭 외워야한다
소스코드
#include <bits/stdc++.h>
using namespace std;
int N,M;
int arr[8];
void recur(int cur)
{
if(cur == M)
{
for(int i = 0; i < M; i++)
{
cout << arr[i] << " ";
}
cout << "\n";
return;
}
for(int i = 1; i <= N; i++)
{
arr[cur] = i;
recur(cur+1);
}
}
int main() {
cin.tie(NULL);
ios::sync_with_stdio(false);
cin >> N >> M;
recur(0);
return 0;
}
'코딩테스트' 카테고리의 다른 글
백준 [실버3] 15654 N과 M (5) (0) | 2025.01.15 |
---|---|
백준 [실버3] 15652 N과 M (4) (0) | 2025.01.15 |
백준 [실버3] 15650 N과 M (2) (0) | 2025.01.14 |
백준 [실버3] 15649 N과 M (1) (0) | 2025.01.14 |
백준 [골드5] 14719 빗물 (0) | 2025.01.14 |
Comments