알고리즘 문제풀이/백준
[백준 15652]N과 M(4)
홍시홍
2020. 3. 12. 21:05
요구사항
비내림차순으로 순열을 구현
풀이
cnt에 진입하였을대 for(i->n)까지 돌며 백트래킹으로 탐색한다
#include <stdio.h>
#include <algorithm>
#include <list>
//#include "Windows.h"
#include <algorithm>
#include <iostream>
#include <map>
#include <vector>
char input[12371][120];
int n,m;
vector<int> v;
int a[100];
int visit[100];
int arr[100];
void dfs(int now,int cnt){
if(cnt==m){
for(int i=0 ; i <m;i++){
printf("%d ",arr[i]);
}
printf("\n");
return;
}
for(int i = now; i < n ; i++){
//if(visit[i]==1) continue;
//visit[i]=1;
arr[cnt]=a[i];
dfs(i,cnt+1);
//visit[i]=0;
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=0 ; i <n ; i++){
a[i]=i+1;
}
dfs(0,0);
}