๋ฐฑ์ค 6603. ๋ก๋(๋ฐฑํธ๋ํน)
๋ฌธ์ ๐ต๐ซ
๋ ์ผ ๋ก๋๋ {1, 2,...,49}์์ ์ 6๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค.
๋ก๋ ๋ฒํธ๋ฅผ ์ ํํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ์ ๋ช ํ ์ ๋ต์ 49๊ฐ์ง ์ ์ค k(k>6)๊ฐ์ ์๋ฅผ ๊ณจ๋ผ ์งํฉ S๋ฅผ ๋ง๋ ๋ค์ ๊ทธ ์๋ง ๊ฐ์ง๊ณ ๋ฒํธ๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด, k=8, S={1, 2, 3, 5, 8, 13, 21, 34}์ธ ๊ฒฝ์ฐ ์ด ์งํฉ S์์ ์๋ฅผ ๊ณ ๋ฅผ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ์ด 28๊ฐ์ง์ด๋ค.
{[1, 2, 3, 5, 8, 13], [1, 2, 3, 5, 8, 21], [1,2,3,5,8,34], ..., [3,5,8,13,21,34])
์งํฉ S์ k๊ฐ ์ฃผ์ด์ก์ ๋, ์๋ฅผ ๊ณ ๋ฅด๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จใ ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์ด์ฟ. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค, ์ฒซ ๋ฒ์งธ ์๋ k(6 < k < 13)์ด๊ณ , ๋ค์ k๊ฐ ์๋ ์งํฉ S์ ํฌํจ๋๋ ์์ด๋ค. S์ ์์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ฃผ์ด์ง๋ค.
์ ๋ ฅ์ ๋ง์ง๋ง ์ค์๋ 0์ด ํ๋ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ์๋ฅผ ๊ณ ๋ฅด๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์ถ๋ ฅํ๋ค. ์ด๋, ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค ์ฌ์ด์๋ ๋น ์ค์ ํ๋ ์ถ๋ ฅํ๋ค.
๋ด ํ๐ฆท
# 6603. ๋ก๋
def backtracking(depth, beginwith):
if depth == 6:
print(*result)
return
for i in range(beginwith, k):
if not visited[i]:
result[depth] = nums[i]
backtracking(depth+1, i+1)
visited[i] = False
while True:
lotto = list(map(int, input().split()))
k = lotto[0]
nums = lotto[1:]
result = [0] * 6
visited = [False] * k
backtracking(0, 0) // ๊น์ด, ์ด๋์ ๋ถํฐ ์์ํ ๊ฑด์ง
if k == 0:
quit()
print()
N๊ณผ M์ผ๋ก ๋ค์ง ๋ฐฑํธ๋ํน ๊ฐ๋ ์ ๋ค๋ฅธ ๋ฌธ์ ์๋ ์ ์ฉ์ํค๊ณ ์ถ์ด์ ๋ก๋๋ผ๋ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์์ต๋๋ค!!!!
์ด๋ ค์ ๋ ์ ....
1. ํ ์คํธ ์ผ์ด์ค๋ง๋ค ํ์ค ๋ฐ์ฐ๋๊ฑธ ์ด๋ป๊ฒ ํ์ง....
2. ๋ง์ง๋ง 0์ด ๋์์ ๋ ์ข ๋ฃ๋ฅผ ์ด๋ป๊ฒ ํ์ง...
3. ํ ์คํธ ์ผ์ด์ค์ ์๊ฐ ์์ฃผ์ด์ก๋๋ฐ ์ด๋ป๊ฒ ํ์ง...
๋ฐฑํธ๋ํน ๊ฐ๋ ์ ์ธ๋ถ๋ถ ๋ณด๋ค๋ ๋ค๋ฅธ๊ฒ๋ค์ ๋ ์๊ฐ์ ๋ง์ด ์ก์๋จน์๋ค....
์,์กฐ์ ๋ํ ๊ฐ๋ ์ ๐๐๐
https://jeniffer0812techstory.tistory.com/94
์ฐธ๊ณ ํ๋ฉด ์ข์ ๊ฐ๋ ๋ค โ๏ธ
- exit() : ํ๋ก๊ทธ๋จ ๊ฐ์ ์ข ๋ฃ
for i in range(100):
if i == 5:
quit()
print(i)
/*
0
1
2
3
4
*/