ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
N๊ณผ M ์๋ฆฌ์ฆ
- ์์๊ฐ 1์์ N์ธ ๊ฒฝ์ฐ
-
์์๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ
- N๊ณผ M (5 ~ 8)
- N๊ณผ M (1 ~ 4)์์ ์์์ ๋ํ ์ฒ๋ฆฌ๋ง ์ถ๊ฐํ๋ฉด ๋๋ค.
-
์ค๋ณต ์์๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ
- 15663 N๊ณผ M (9)
- N๊ณผ M (10 ~ 12)๋ (9)์ ๊ฐ์ด set์ ํ์ฉํ๋ฉฐ ๋ก์ง์ N๊ณผ M 2 - 4์ ๋์ผํ๋ค.
๋ฌธ์
15651๋ฒ: N๊ณผ M (3)
ํ ์ค์ ํ๋์ฉ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์ด์ ์ถ๋ ฅํ๋ค. ์ค๋ณต๋๋ ์์ด์ ์ฌ๋ฌ ๋ฒ ์ถ๋ ฅํ๋ฉด ์๋๋ฉฐ, ๊ฐ ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํด์ผ ํ๋ค. ์์ด์ ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก ์ถ๋ ฅํด
www.acmicpc.net
๋ฌธ์ ํ์ด
์์ ํ์ด ํ 15649 N๊ณผ M (1)๋ฅผ ์ดํดํ์๋ค๋ฉด ์ด ๋ฌธ์ ๋ ๋ ์ฝ๊ฒ ํ ์ ์๋ค. ์ค๋ณต์ ํ์ฉํ๋ ์์ด์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ฏ๋ก ์ค๋ณต์ ์ฒดํฌํ๋ ๊ตฌ๋ฌธ์ ์ญ์ ํด์ฃผ๋ฉด N๊ฐ์ ์์ ๋ํ M ๊ธธ์ด์ ์ค๋ณต ์์ด์ ๊ตฌํ ์ ์๋ค
์ฝ๋
DFS ์ฌ์ฉํ ๋ฌธ์ ํ์ด
from sys import stdin
def dfs(depth):
global answer
# ์ฌ๊ท ์ข
๋ฃ ์กฐ๊ฑด → ์ ํํ๊ณ ์ ํ๋ ์
if depth == m:
answer.append([*check])
else:
for i in range(n):
# ๋ณ๋์ ์ค๋ณต ํ์ธ์ด ํ์ ์์
check[depth] = i + 1
dfs(depth + 1)
if __name__ == '__main__':
answer = []
n, m = map(int, stdin.readline().split())
check = [0] * m
dfs(0)
for num in answer:
print(*num)
itertools product๋ฅผ ํ์ฉํ ๋ฌธ์ ํ์ด
from itertools import product
N, M = map(int, input().split())
nums = [num + 1 for num in range(N)]
for cases in product(nums, repeat=M):
for case in cases:
print(case, end=' ')
print()
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 15663 N๊ณผ M (9) (0) | 2020.07.14 |
---|---|
๋ฐฑ์ค: 15652 N๊ณผ M (4) (1) | 2020.07.14 |
๋ฐฑ์ค: 15650 N๊ณผ M (2) (0) | 2020.07.14 |
๋ฐฑ์ค: 15649 N๊ณผ M (1) (0) | 2020.07.14 |
๋ฐฑ์ค: 3085 ์ฌํ ๊ฒ์ (2) | 2020.07.13 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ