[BOJ15663] N과 M (9)

Updated:

N개 자연수와 자연수 M이 주어졌을 때, 조건을 만족하는 길이 M인 수열

  • 조건 : N개의 자연수 중 M개를 고른 수열

입력

  • N, M (1<= <=8)
  • N개의 수 (1<= <=10000)

출력

  • 조건을 만족하는 수열 출력
  • 각 수열은 공백으로 구분
  • 수열은 사전순 증가

설계

  • 백트래킹을 이용하여 순열 구현
  • DFS에서 주어진 수에 대한 반복을 할 때, 그전의 수와 현재수가 같으면 스킵하는 것이 필요(중복 수열 출력 X)
  • 그전의 수를 저장하는 변수를 두어 현재와 같으면 스킵

피드백

  • 스킵해야되는 조건은 배열(boolean)로도 구현가능
  • 반복문을 돌 때, 배열의 인덱스에 특정 수열을 값을 지정하여 방문했음을 체크
  • 후에 같은 값의 수열이면 스킵

How I solved(click to github)


ref :
BOJ15663

Leave a comment