반응형

   문제

   https://www.acmicpc.net/problem/15652


 N과M마지막 문제이다.

비내림 차순이란 오름차순이거나 같은수의 연속이 나와도 된다는것을뜻한다.

말그대로 내림차순인 부분만 없으면 된다는 것이다.

이번에도 조건을 조금만 바꾸어주면 된다.


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
n,m=map(int,input().split())
 
check=[0 for i in range(n+1)]
result=[0 for i in range(m)]
 
 
def backTracking(index,n,m):
    if index==m:
        for i in result:
            print(i,end=" ")
        print()
        return
 
    for i in range(1,n+1):
        if check[i]==1:
            continue
        result[index]=i
        for j in range(i):#i보다 작은 수는 모두 체크해준다.
            check[j]=1
        backTracking(index+1,n,m)
        for j in range(1,n+1):  #초기화
            check[j]=0
 
 
backTracking(0,n,m)
cs



다음문제부터는 조금 심화 문제가 될거같다.






반응형

'알고리즘(python) > 탐색' 카테고리의 다른 글

[Python]백트래킹 백준 2580  (0) 2020.01.06
[Python]백트래킹 백준 9663  (0) 2020.01.06
[Python]백트래킹 백준 15651  (0) 2020.01.04
[Python]백트래킹 백준 15650  (0) 2020.01.04
[Python]백트래킹 백준 15649  (0) 2020.01.04
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기