Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #dobivam isti resenija so razlicen redosled na zadacive se nadevam ne e problem auf
- from constraint import *
- def value_of_M(a,b):
- if a<8 and b!=0:
- return False
- elif a>=8 and b>1:
- return False
- return True
- def sum_of_two(a,b,c):
- #print(a,b,c)
- if a+b>9:
- if a+b!=c+10 and a+b+1!=c+10:
- return False
- return True
- else:
- if a+b!=c and a+b+1!=c:
- return False
- return True
- if __name__ == '__main__':
- problem = Problem(BacktrackingSolver())
- variables = ["S", "E", "N", "D", "M", "O", "R", "Y"]
- for variable in variables:
- problem.addVariable(variable, Domain(set(range(10))))
- # ---Tuka dodadete gi ogranichuvanjata----------------
- problem.addConstraint(AllDifferentConstraint())
- problem.addConstraint(sum_of_two,("D","E","Y"))
- problem.addConstraint(sum_of_two,("N","R","E"))
- problem.addConstraint(sum_of_two,("E","O","N"))
- problem.addConstraint(sum_of_two,("S","M","O"))
- problem.addConstraint(value_of_M,("S","M"))
- # ----------------------------------------------------
- print(problem.getSolution())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement