홍시홍의 프로그래밍

[백준 15652]N과 M(4) 본문

알고리즘 문제풀이/백준

[백준 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);
}

 

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

[백준 7453] 합이 0인 네 정수  (0) 2020.03.14
[백준 1300] k번째 수  (0) 2020.03.14
[백준 15651] N과 M(3)  (0) 2020.03.12
[백준 15650] N과 M(2)  (0) 2020.03.12
[백준 15649] N과 M(1)  (0) 2020.03.12
Comments