7281 : 재귀 순열 생성
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
재귀(백트래킹)를 이용하여 문자열 $S$의 문자들로 만들 수 있는 모든 순열을 사전순으로 출력하십시오.
순열: 주어진 원소들을 순서를 고려하여 모두 나열한 경우의 수.
$S$의 문자들은 모두 다릅니다.
[제약 조건]
• 문자열 $S$는 알파벳 소문자로만 구성되며 중복된 문자가 없습니다.
• 문자열 $S$의 길이는 1 이상 6 이하입니다.
순열: 주어진 원소들을 순서를 고려하여 모두 나열한 경우의 수.
$S$의 문자들은 모두 다릅니다.
[제약 조건]
• 문자열 $S$는 알파벳 소문자로만 구성되며 중복된 문자가 없습니다.
• 문자열 $S$의 길이는 1 이상 6 이하입니다.
입력 설명
첫째 줄에 문자열 $S$가 주어집니다. (길이 $\le 6$, 중복 없는 문자들)
출력 설명
만들 수 있는 모든 순열을 사전순으로 줄바꿈 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
abc
출력 예시
COPY
복사되었습니다!
복사되었습니다!
abc
acb
bac
bca
cab
cba
도움
used 배열로 방문 여부를 관리하고 미방문 문자를 순서대로 선택하여 재귀합니다. 더 간단하게는 itertools.permutations(sorted(s))를 활용할 수 있습니다.