728x90
[백준알고리즘] 15650번: N과 M (2) -Python
https://www.acmicpc.net/problem/15650
저번에 풀었던 N과 M (1)의 다음 문제이다.
조건을 보면 "고른 수열은 오름차순이다."가 추가되었다.
별로 추가된 것도 없고 그냥 풀었다. itertools를 쓰면서 이 추가된 조건을 처리하려 하는 것보다 그냥 짜는 게 훨씬 쉬워 보여서 그냥 짰다. 얼른 백 트랙킹 마무리 지어야겠다.
import sys
def testCase():
input_val = list(map(int, sys.stdin.readline().split()))
global N, M
N, M = input_val
def solve(remain, result=[]):
if len(result) == M:
for r in result:
print(r, end=' ')
print()
return
for idx in range(len(remain)):
result.append(remain[idx])
solve(remain[idx+1:], result)
result.pop(-1)
if __name__ == "__main__":
testCase()
solve(range(1, N+1))
잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다
728x90
'algorithm > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] 15652번: N과 M (4) -Python (0) | 2019.12.27 |
---|---|
[백준알고리즘] 15651번: N과 M (3) -Python (0) | 2019.12.27 |
[백준알고리즘] 15649번: N과 M (1) -Python (0) | 2019.12.24 |
[백준알고리즘] 7568번: 덩치 -Python (0) | 2019.12.24 |
[백준알고리즘] 1780번: 종이의 개수 -Python (0) | 2019.09.24 |