Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 | 31 |
Tags
- c#
- 백준 1158
- qorwns
- 구현
- AVL 시간 복잡도
- heap
- C/C++ 구현
- Stack 이란
- dfs
- 해시구현
- 자료구조
- 백준
- 시간 복잡도
- 버킷 정렬
- 백준 5397
- 조세퍼스 순열
- 풀이
- 백준 17471
- 백준 2447
- 원판 돌리기
- 게리멘더링2
- ㅣ풀이
- 5397
- 1764
- 해시 구현
- 백준 17779
- 별 찍기 10
- 백준 17822
- 백준 1406
- 스택의 특징
Archives
- Today
- Total
홍시홍의 프로그래밍
[백준 15652] N과 M(4) with 파이썬 본문
요구사항
중복을 허용하여 n개 중 m개를 뽑는다
참고
n개 중 m개를 뽑느데 현재 index보다 전에 있는 원소는 뽑을 수 없다
1. dfs를 이용하여 문제를 푼다
-> 중복을 허용함으로 dfs 진입 시 현재(now)부터 끝까지 탐색할 수 있도록 한다
-> 현재(now)부터 끝은 for 안에는 진행되는 루틴이다
풀이
n,m=map(int,input().split())
visit=[0]*100
my_vec =[]
def Com(now, cnt):
if(cnt==m):
for i in my_vec:
print(i,end=' ')
print()
return
for i in range(now,n+1):
#방문 여부 체크안하고 그냥 바로 현재 원소부터 dfs로 탐색할 수 있도록 한다
#if(visit[i]==0):
# visit[i]=1
my_vec.append(i)
Com(i,cnt+1)
my_vec.pop()
# visit[i]=0
Com(1,0)
'파이썬' 카테고리의 다른 글
[백준 1541] 잃어버린 괄호 with 파이썬 (0) | 2020.09.21 |
---|---|
[백준 11047] 동전 0 with 파이썬 (0) | 2020.09.16 |
[백준 15649] N과M1 with 파이썬 (0) | 2020.09.16 |
[백준 11650] 좌표 정렬하기 3 with 파이썬 (0) | 2020.09.16 |
[백준 10989] 수 정렬하기 3 with 파이썬 (0) | 2020.09.15 |
Comments