-
백준 15650 - N과 M(2)백준 algorithm 2020. 6. 3. 21:23반응형
문제 설명 => 브루트 포스 문제입니다.
=> 기존의 N과 M문제에서 힌트를 받아 풀 수 있습니다.
=> 오름차순으로 해야되는 것만 염두에 두면 풀 수 있습니다.
https://codingham.tistory.com/41
백준 15649 - N과 M(1)
백트래킹과 관련된 기초 문제이다. 본인은 백트레킹의 개념은 알지만 코드로 구현함에 있어 어려움을 겪어, 다른 사람들의 코드를 보며 썼다. 길이가 M이므로, cnt가 M이 될때까지 해당 Backtracking
codingham.tistory.com
=> 위의 문제를 참조하면 쉽게 풀 수 있습니다.
<code>
#include <iostream> #include <algorithm> #include <string> bool visited[10]; //false로 초기화 int arr[10]; using namespace std; void find(int index, int start, int N, int M) { if(index == M) { for(int i=0; i<M; i++) { cout << arr[i] <<" "; } cout<<'\n'; } for(int i=start; i<=N; i++) { if(visited[i])continue; visited[i] = true; arr[index] = i; find(index+1, i+1, N, M); visited[i] =false; } } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N, M; cin >> N >> M; find(0,1,N, M); return 0; }
실행 화면 1 실행 화면 2 반응형'백준 algorithm' 카테고리의 다른 글
백준 1316 - 그룹 단어 체커 (0) 2020.06.04 백준 15651 - N과 M(3) (0) 2020.06.03 백준 1748 - 수 이어 쓰기 1 (0) 2020.06.02 😭백준 6064 - 카잉 달력 (0) 2020.06.02 백준 1107 - 리모컨 (0) 2020.06.02