Advertisement
dzocesrce

[VI] Send Money

Jan 23rd, 2025
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. #dobivam isti resenija so razlicen redosled na zadacive se nadevam ne e problem auf
  2. from constraint import *
  3.  
  4. def value_of_M(a,b):
  5.     if a<8 and b!=0:
  6.         return False
  7.     elif a>=8 and b>1:
  8.         return False
  9.     return True
  10.        
  11. def sum_of_two(a,b,c):
  12.     #print(a,b,c)
  13.     if a+b>9:
  14.         if a+b!=c+10 and a+b+1!=c+10:
  15.             return False
  16.         return True
  17.     else:
  18.         if a+b!=c and a+b+1!=c:
  19.             return False
  20.         return True
  21.        
  22. if __name__ == '__main__':
  23.     problem = Problem(BacktrackingSolver())
  24.     variables = ["S", "E", "N", "D", "M", "O", "R", "Y"]
  25.     for variable in variables:
  26.         problem.addVariable(variable, Domain(set(range(10))))
  27.    
  28.     # ---Tuka dodadete gi ogranichuvanjata----------------
  29.     problem.addConstraint(AllDifferentConstraint())
  30.     problem.addConstraint(sum_of_two,("D","E","Y"))
  31.     problem.addConstraint(sum_of_two,("N","R","E"))
  32.     problem.addConstraint(sum_of_two,("E","O","N"))
  33.     problem.addConstraint(sum_of_two,("S","M","O"))
  34.     problem.addConstraint(value_of_M,("S","M"))
  35.     # ----------------------------------------------------
  36.    
  37.     print(problem.getSolution())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement