# Kakuro met exhaustief zoeken en snoeien
from time import time


print("Oplossingen exhaustief zoeken zonder snoeien")
starttijd = time()

for a in range (1,10):
    for b in range (1,10):
        for c in range (1,10):
            for d in range (1,10):
                for e in range (1,10):
                    for f in range (1,10):
                        for g in range (1,10):
                            for h in range (1,10):
                                if a + b + c == 8 and d+e == 11 and f+g+h == 13 \
                                   and a + d + g == 17 and b + e + h == 11 \
                                   and b + d + f == 7 and c + e + g == 17:
                                    print (a, b, c, d, e, f, g, h)
duur = time() - starttijd
print(f"zoektijd = {duur} s")


print("\nOplossingen exhaustief zoeken met snoeien")
starttijd = time()

for a in range (1,10):
    for b in range (1,10):
        c = 8 - a - b
        if 1 <= c <= 9: 
            for d in range (1,10):
                e = 11 - d
                if 1 <= e <= 9:
                    f = 7 - b - d
                    if 1 <= f <= 9:
                        g = 17 - a - d
                        if 1 <= g <= 9 and c + e + g == 17:
                            h = 13 - f - g
                            if 1 <= h <= 9 and b + e + h == 11:
                                print (a, b, c, d, e, f, g, h)
                                        
duur = time() - starttijd
print(f"zoektijd = {duur} s")
