๐[15650] N๊ณผ M (2)
๋ฌธ์
https://www.acmicpc.net/problem/15650
์์ ์ ๋ ฅ 1
3 1
์์ ์ถ๋ ฅ 1
1
2
3
์์ ์ ๋ ฅ 2
4 2
์์ ์ถ๋ ฅ 2
1 2
1 3
1 4
2 3
2 4
3 4
๋ต์
import sys
from itertools import combinations
input = sys.stdin.readline
n, m = map(int, input().split())
n_arr = [i for i in range(1, n+1)]
arr = list(combinations(n_arr, m))
for i in arr:
print(i[0], end=" ")
for j in range(1, m):
print(i[j], end=" ")
print()
ํ์ด
-
์๋์ฝ๋
N, M <- input N_arr = 1๋ถํฐ N๊น์ง ๊ฐ๋ค์ ํฌํจํ ๋ฆฌ์คํธ arr = list(combinations(N_arr, M)) # nCr for i in arr: print(i[0], end=" ") for j in range(1, m): print(i[j], end=" ") print()
ํ์ด:
- N, M์ ์ ๋ ฅ ๋ฐ์.
- N_arr ๋ฆฌ์คํธ๋ฅผ ์ ์ธํ๊ณ , 1๋ถํฐ N๊น์ง ๋ด์ โ
i for i in range(1, N+1)
- arr์
N_arr
์์์M
๊ฐ์ ๊ฐ๋ค์ ์ ํํ๋ combinations ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ์คํธ๋ก ์ ์ฅ - arr์ ์ํํ๋ฉฐ ์ถ๋ ฅ
- M๊ฐ๋ฅผ ์ ํํ๋๋ฐ, ์ ์ถ๋ ฅ์์ i[0]์ ์ถ๋ ฅํ์ผ๋ฏ๋ก, ์ด์ ๋จ์๊ฑด i[1], i[2], โฆ i[M-1]์ด ๋จ์. ์ด๋ฅผ ์ํ
ํ๊ณ
- ๋ฐฑํธ๋ํน ๋ฌธ์ ์ธ๋ฐ combinations๋ก ํ์ด๋ฒ๋ ธ๋ค.
- combinations๊ฐ ์ฌ๊ท๋ก ๊ตฌํ๋์ด์์๊ฑฐ๊ฐ๊ธด ํ๋ฐ, ์์๋ณด๊ณ ์ฌ๊ธฐ์ ์ ๋ฆฌํ์.
- combinations๋ฅผ ์ง์ ๊ตฌํํด๋ณด๋ ๊ฒ๋ ์ข์ ๋ฏ ํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ