https://www.acmicpc.net/problem/15649
백트래킹 문제로
파이썬으로하면 permutation으로 몇줄컷이 되는데
C++로 짜면 좀 더 복잡해진다.
파이썬 코드
import sys
from itertools import permutations
input = sys.stdin.readline
N, M = map(int, input().split())
P = permutations(range(1, N+1), M)
for i in P:
print(' '.join(map(str,i)))
C++코드
#include<iostream>
using namespace std;
#define MAX 8
int N, M;
int arr[MAX+1];
bool visited[MAX+1]={false};
void permutation(int cnt){
if(cnt==M){
for(int i=0;i<M;i++){
cout<<arr[i]<<" ";
}
cout<<"\n";
return;
}
for(int i=1;i<=N;i++){
if(!visited[i]){
visited[i]=true;
arr[cnt]=i;
permutation(cnt+1);
visited[i]=false;
}
}
}
int main(){
const int cnt=0;
cin>>N>>M;
permutation(cnt);
return 0;
}
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/BOJ/알고리즘/파이썬(python)]#14888_연산자 끼워넣기 (0) | 2021.09.08 |
---|---|
[백준/BOJ/알고리즘/파이썬(Python)/C++]#14889_스타트와 링크 (0) | 2021.09.07 |
[백준/BOJ/알고리즘/DFS/그래프/파이썬(python)/C++]#2606_바이러스 (0) | 2021.09.05 |
[백준/BOJ/알고리즘/파이썬(python)]#2621_카드게임 (0) | 2021.09.04 |
[백준/BOJ/알고리즘/파이썬(python)/C++/그리디/정렬]#1449_수리공 항승 (0) | 2021.09.03 |