[Baekjoon Online Judge] 백준 15649번 N과 M (1)
(Python)
(글쓴날 : 2020.03.28)
* Baekjoon Online Judge, 백준 15649번 문제 Python 언어 풀이입니다.
* 소스 코드의 저작권은 글쓴이에게 있습니다.
백준 15649번 N과 M (1)
1) 문제
문제 링크 : https://www.acmicpc.net/problem/15649
15649번: N과 M (1)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다.
www.acmicpc.net
2) 풀이 과정
N과 M이 주어지고 1부터 N까지의 자연수 중에서 M개의 순열을 구하는 문제입니다.
저의 경우, DFS를 적용해 문제를 해결했습니다.
3) 코드
* Python 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import sys
input = sys.stdin.readline
def DFS():
global N, M, arr, visit, stack
if len(stack) == M:
print(*stack)
return
for i in range(N):
if not visit[i]:
visit[i] = True
stack.append(arr[i])
DFS()
stack.pop()
visit[i] = False
N, M = map(int, input().split())
arr = [x for x in range(1, N + 1)]
visit = [False] * N
stack = []
DFS()
|
'Deprecated' 카테고리의 다른 글
[Baekjoon Online Judge] 백준 15663번 N과 M (9)(Python) (0) | 2020.03.30 |
---|---|
[Baekjoon Online Judge] 백준 4963번 섬의 개수(Python) (0) | 2020.03.29 |
[Baekjoon Online Judge] 백준 2667번 단지번호붙이기(Python) (0) | 2020.03.28 |
[Baekjoon Online Judge] 백준 15686번 치킨 배달(Python) (0) | 2020.03.28 |
[Amazon Web Services] EC2 인스턴스에 PuTTY로 접속하는 법 (0) | 2020.03.27 |