Pagini recente » Cod sursa (job #979418) | Cod sursa (job #418949) | Cod sursa (job #2053485) | Cod sursa (job #3337983) | Cod sursa (job #3354946)
with open("combinari.in", "r", encoding="utf-8") as f, open("combinari.out", "w", encoding="utf-8") as out:
n, k = map(int, f.readline().split())
numbers = set()
def bkt(n, k, path):
if len(path) == k:
for x in path:
out.write(str(x) + " ")
out.write("\n")
return
for i in range(1, n + 1):
if i not in numbers:
if len(path) > 0 and path[-1] < i:
path.append(i)
numbers.add(i)
bkt(n, k, path)
path.pop()
numbers.remove(i)
elif len(path) == 0:
path.append(i)
numbers.add(i)
bkt(n, k, path)
path.pop()
numbers.remove(i)
bkt(n, k, [])