

코드
#include <iostream>
#include <vector>
using namespace std;
vector <int> v;
int n, m;
void solve(int cnt, int start){
if(m == cnt){
for(int i=0; i<m; i++){
cout << v[i] << " ";
}
cout << "\n";
}
else{
for(int j = start; j<=n; j++){
v.push_back(j);
solve(cnt + 1, j);
v.pop_back();
}
}
}
int main() {
cin >> n >> m;
solve(0, 1);
return 0;
}
사견
N과 M(2)에서 check배열만 없애주면 되는 문제이다...
시리즈 문제는 처음에는 설명할게 있는데 풀수록 로직자체는 중복이라 할 말이 없는게 슬프다.
그래도 매일 푸는 문제 약간 꽁으로 푸는 기분이라 좋았는데 그것도 오늘까지다...흑흑
그래도 매일 하나씩 코드 처음부터 다시 치면서 하니까 얼추 백트래킹 감이 와서 다행이겠지...?
내일은 이제 체스판 퀸 놓기, 백트레킹의 정석문제이자...
처음으로 푸는 백준 골드문제이다... 너무 떨리는걸