Pagini recente » Profil eudanip | Cod sursa (job #804715) | Cod sursa (job #566925) | Cod sursa (job #1920939) | Cod sursa (job #2596933)
def input_gen_int(fnmae):
with open(fnmae, 'rt') as fin:
for line in fin:
for val in line.split():
yield int(val)
class Combination:
def __init__(self, n, k):
self.stat = [0 for _ in range(n + 1)]
self.x = [0 for _ in range(k)]
self.n = n
self.k = k
def generate_write(self, fout, i):
for j in range(1, n + 1):
if self.stat[j] == 1 or (i != 0 and self.x[i - 1] > j): continue
self.x[i] = j
self.stat[j] = 1
if i != k - 1:
self.generate_write(fout, i + 1)
else:
for e in self.x:
fout.write('{} '.format(e))
fout.write('\n')
self.stat[j] = 0
if __name__ == "__main__":
ig = input_gen_int("combinari.in")
n, k = next(ig), next(ig)
com = Combination(n, k)
print("end")
with open("combinari.out", 'wt') as fout:
com.generate_write(fout, 0)