Cod sursa(job #2507580)

Utilizator Constantin.Dragancea Constantin Constantin. Data 10 decembrie 2019 15:50:20
Problema Problema Damelor Scor 80
Compilator py Status done
Runda Arhiva educationala Marime 0.72 kb
f = open('damesah.in', 'r')
g = open('damesah.out', 'w')
n = int(f.read())

d1 = [0] * 25
d2 = [0] * 25
col = [0] * 25
flag = False
v = [0] * 25
total = 0

def back(row):
    global flag
    global v
    global total
    if (row == n):
        if flag == False:
            flag = True
            for i in range(n):
                g.write(str(v[i] + 1) + ' ')
        total += 1
        return
    for i in range(n):
        if (col[i] or d2[i + row] or d1[row - i + n]):
            continue
        col[i] = d2[i + row] = d1[row - i + n] = 1
        v[row] = i
        back(row + 1)
        col[i] = d2[i + row] = d1[row - i + n] = 0
    return

back(0)
g.write('\n' + str(total))
f.close()
g.close()