https://www.acmicpc.net/problem/15651
#include <iostream>
#include <algorithm>
using namespace std;
int ans[9];
void back(int n, int m, int x){
if(x == m+1){
//종료 조건
for(int i=1; i<=m; i++){
cout << ans[i] << " ";
}
cout << "\n";
}
else{
for(int i=1; i<=n; i++){
ans[x] = i;
back(n, m, x+1);
}
}
}
int main()
{
int n, m;
cin >> n >> m;
back(n, m, 1);
return 0;
}
난 정말... 백트래킹이 어렵다.
재귀도 어려움 ㅠㅠ 틀 짜는 것도 익숙하지 않고 한 번 들어갔다가 돌아나오면 머리가 꼬인다.
연습 부족이겠지 흑
좀 더 생각하는 연습을 해보자! 이번 문제는 정말 백트래킹의 기본적인 문제였다.