[C++] 15651 N과 M (3)

cherry_·2023년 10월 26일
0

코딩테스트 준비

목록 보기
15/15

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;
}

난 정말... 백트래킹이 어렵다.
재귀도 어려움 ㅠㅠ 틀 짜는 것도 익숙하지 않고 한 번 들어갔다가 돌아나오면 머리가 꼬인다.
연습 부족이겠지 흑
좀 더 생각하는 연습을 해보자! 이번 문제는 정말 백트래킹의 기본적인 문제였다.

참고

https://cocoon1787.tistory.com/162

0개의 댓글