Algorithm 💫/Problem Solving
[백준] 15654번: N과 M(5) - 주어진 N개의 수로 M길이의 수열 만들기
돼지고기맛있다
2021. 9. 13. 19:31
반응형
✏️ 문제 링크
https://www.acmicpc.net/problem/15654
15654번: N과 M (5)
N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열
www.acmicpc.net
✏️ 문제 설명 (더보기 클릭 👆🏻)
✏️ 문제 코드
#include <bits/stdc++.h>
using namespace std;
#define MAX 9
int n, m;
int arr[MAX];
bool vis[MAX];
vector<int> num;
void func(int k){
if(k==m){
for(int i=0; i<k;i++)
cout<<arr[i]<<" ";
cout<<"\n";
}else{
for(int i=0; i<n; i++){
if(!vis[i]){
vis[i]=true;
arr[k]=num[i];
func(k+1);
vis[i]=false;
}
}
}
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin>>n>>m;
for(int i=0; i<n; i++){
int in; cin>>in;
num.push_back(in);
}
//오름차순 정렬
sort(num.begin(), num.end());
func(0);//자리수는 0번째부터 시작한다.
return 0;
}
⭐ if feedback and question : comment please⭐
반응형