hljs.initHighlightingOnLoad();

N과 M (1)

알고리즘

[C++] Boj 15649 N과 M (1)

문제 링크N과 M (1) 우선 나는 백 트래킹을 연습하려는 의도로 이 문제를 풀어 보았다.  여기서 백 트래킹이란?현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘. 게임으로 비유하자면 현재 상태에서 가능한 모든 선택지를 다 플레이해 보는 방법이 백 트래킹이다. 백 트래킹은 BFS, DFS처럼 기본적인 알고리즘 구조가 잡혀 있으니 잘 익혀 둘 필요가 있다. 접근재귀 함수로 풀이해 보기로 했다. 1부터 n까지의 숫자 중 m개를 중복 없이 골라야 하므로 그 수들이 들어갈 배열(numbers)과 그 수를 이미 골랐는지 여부를 확인할 배열(isUsed)이 필요하다. 그리고 뽑은 수가 몇 번째 수인지는 변수 k를 두어 확인하였다. 알고리즘1. 1부터 n까지의 수에 대해 for문을 돈다. 아직 i..

(ꐦ •᷄ࡇ•᷅)
'N과 M (1)' 태그의 글 목록