Cod sursa(job #2533364)

Utilizator TeodorCotetCotet Teodor TeodorCotet Data 28 ianuarie 2020 22:28:02
Problema Combinari Scor 80
Compilator py Status done
Runda Arhiva educationala Marime 0.82 kb
def read_gen(fname):
    with open(fname, 'rt') as fin:
        for line in fin:
            for val in line.split():
                yield int(val)

def bkt(step, comb, used, n, k, fout):
    if step == k + 1:
        for i in range(1, k + 1):
            fout.write('{} '.format(comb[i]))
        fout.write('\n')
    else:
        for i in range(comb[step - 1] + 1, n + 1):
            if used[i] is False:
                used[i] = True
                comb[step] = i
                bkt(step + 1, comb, used, n, k, fout)
                used[i] = False

if __name__ == "__main__":
    it = read_gen('combinari.in')
    n, k = next(it), next(it)
    comb = {pos: 0 for pos in range(0, k + 1)}
    used = {val: False for val in range(1, n + 1)}
    with open('combinari.out', 'wt') as fout:
        bkt(1, comb, used, n, k, fout)