백트래킹 사골 15649-15657
This commit is contained in:
10
zeta_python/completed/15649_backtracking.py
Normal file
10
zeta_python/completed/15649_backtracking.py
Normal file
@@ -0,0 +1,10 @@
|
||||
N, M = map(int, input().split())
|
||||
trace = [(list(range(1, N + 1)), M, [])]
|
||||
|
||||
while trace:
|
||||
n, m, d = trace.pop()
|
||||
for i in range(len(n) - 1, -1, -1):
|
||||
trace.append((n[:i] + n[i + 1:], m - 1, d + [n[i]]))
|
||||
if m == 0:
|
||||
print(" ".join(map(str, d)))
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
11
zeta_python/completed/15650.py
Normal file
11
zeta_python/completed/15650.py
Normal file
@@ -0,0 +1,11 @@
|
||||
N, M = map(int, input().split())
|
||||
trace = [([i], M, i) for i in range(N, 0, -1)] # prev, depth, now
|
||||
|
||||
while trace:
|
||||
p, d, n = trace.pop()
|
||||
for i in range(N, n, -1):
|
||||
trace.append((p + [i], d-1, i))
|
||||
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
11
zeta_python/completed/15651.py
Normal file
11
zeta_python/completed/15651.py
Normal file
@@ -0,0 +1,11 @@
|
||||
N, M = map(int, input().split())
|
||||
trace = [([i], M) for i in range(N, 0, -1)] # prev, depth
|
||||
|
||||
while trace:
|
||||
p, d = trace.pop()
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
continue
|
||||
for i in range(N, 0, -1):
|
||||
trace.append((p + [i], d-1))
|
||||
# 킹트래킹
|
||||
12
zeta_python/completed/15652.py
Normal file
12
zeta_python/completed/15652.py
Normal file
@@ -0,0 +1,12 @@
|
||||
N, M = map(int, input().split())
|
||||
trace = [([i], M, i) for i in range(N, 0, -1)] # prev, depth, now
|
||||
|
||||
while trace:
|
||||
p, d, n = trace.pop()
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
continue
|
||||
for i in range(N, n-1, -1):
|
||||
trace.append((p + [i], d-1, i))
|
||||
|
||||
# 코드 재사용 팝트래킹
|
||||
10
zeta_python/completed/15654.py
Normal file
10
zeta_python/completed/15654.py
Normal file
@@ -0,0 +1,10 @@
|
||||
N, M = map(int, input().split())
|
||||
trace = [(sorted(list(map(int, input().split()))), M, [])]
|
||||
|
||||
while trace:
|
||||
n, m, d = trace.pop()
|
||||
for i in range(len(n) - 1, -1, -1):
|
||||
trace.append((n[:i] + n[i + 1:], m - 1, d + [n[i]]))
|
||||
if m == 0:
|
||||
print(" ".join(map(str, d)))
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
13
zeta_python/completed/15655.py
Normal file
13
zeta_python/completed/15655.py
Normal file
@@ -0,0 +1,13 @@
|
||||
N, M = map(int, input().split())
|
||||
K = list(map(int, input().split()));K.sort()
|
||||
trace = [([v], M, i) for i, v in reversed(list(enumerate(K)))] # prev, depth, now
|
||||
|
||||
while trace:
|
||||
p, d, n = trace.pop()
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
continue
|
||||
for i in range(N-1, n, -1):
|
||||
trace.append((p + [K[i]], d-1, i))
|
||||
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
13
zeta_python/completed/15656.py
Normal file
13
zeta_python/completed/15656.py
Normal file
@@ -0,0 +1,13 @@
|
||||
N, M = map(int, input().split())
|
||||
K = list(map(int, input().split()));K.sort()
|
||||
trace = [([v], M, i) for i, v in reversed(list(enumerate(K)))] # prev, depth, now
|
||||
|
||||
while trace:
|
||||
p, d, n = trace.pop()
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
continue
|
||||
for i in range(N-1, -1, -1):
|
||||
trace.append((p + [K[i]], d-1, i))
|
||||
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
13
zeta_python/completed/15657.py
Normal file
13
zeta_python/completed/15657.py
Normal file
@@ -0,0 +1,13 @@
|
||||
N, M = map(int, input().split())
|
||||
K = list(map(int, input().split()));K.sort()
|
||||
trace = [([v], M, i) for i, v in reversed(list(enumerate(K)))] # prev, depth, now
|
||||
|
||||
while trace:
|
||||
p, d, n = trace.pop()
|
||||
if d == 1:
|
||||
print(" ".join(map(str, p)))
|
||||
continue
|
||||
for i in range(N-1, n-1, -1):
|
||||
trace.append((p + [K[i]], d-1, i))
|
||||
|
||||
# 아마도 백트래킹일거임 아마도 그럼 ㅇㅇ
|
||||
Reference in New Issue
Block a user