728x90
반응형

블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.


문제 설명

  • 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.
    • 1부터 N까지 자연수 중에서 M개를 고른 수열 (1 <=M <=N <=8)
    • 같은 수를 여러 번 골라도 된다.
    • 오름차순

풀이 전략

 

[C++ 백준] 15650 N과 M (2)

블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1. 1부터 N까

gaeunhan.tistory.com

소스 코드

#include <iostream>
using namespace std;

int arr[9] = { 0, };
void Dfs(int num, int cnt, int n, int m)
{
	if (cnt == m)
	{
		for (int i = 0; i < m; i++)
			cout << arr[i] << ' ';
		cout << '\n';
		return;
	}
	for (int i = num; i <= n; i++)
	{
		arr[cnt] = i;
		Dfs(i, cnt + 1, n, m);
	}
}
int main()
{
	int n, m;
	cin >> n >> m;
	Dfs(1, 0, n, m);
}

링크

https://www.acmicpc.net/problem/15652

 

15652번: N과 M (4)

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

www.acmicpc.net

 

728x90
반응형

'문제풀이 > BOJ' 카테고리의 다른 글

[C++ 백준] 1003 피보나치 함수  (0) 2021.12.18
[C++ 백준] 1932 정수 삼각형  (0) 2021.11.22
[C++ 백준] 15650 N과 M (2)  (0) 2021.10.30
[C++ 백준] 2108 통계학  (0) 2021.10.04
[C++ 백준] 1181 단어 정렬  (0) 2021.08.26