Advertisement
Guest User

AoC_2019_05

a guest
Dec 4th, 2019
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. array[1..6] of var 0..9: answer;
  2. int: minimum;
  3. int: maximum;
  4.  
  5. % In range minimum-maximum
  6. constraint answer[1]*100000 + answer[2]*10000 + answer[3]*1000 + answer[4]*100 + answer[5]*10 + answer[6] >= minimum;
  7. constraint answer[1]*100000 + answer[2]*10000 + answer[3]*1000 + answer[4]*100 + answer[5]*10 + answer[6] <= maximum;
  8.  
  9. % Two adjacent digits are the same without being a part of a larger group of identical digits
  10. constraint
  11. (answer[1] == answer[2] /\ answer[2] != answer[3]) \/
  12. (answer[2] == answer[3] /\ (answer[1] != answer[2] /\ answer[3] != answer[4])) \/
  13. (answer[3] == answer[4] /\ (answer[2] != answer[3] /\ answer[4] != answer[5])) \/
  14. (answer[4] == answer[5] /\ (answer[3] != answer[4] /\ answer[5] != answer[6])) \/
  15. (answer[5] == answer[6] /\ answer[4] != answer[5]);
  16.  
  17. % The digits never decrease
  18. constraint answer[1] <= answer[2] /\ answer[2] <= answer[3] /\ answer[3] <= answer[4] /\ answer[4] <= answer[5] /\ answer[5] <= answer[6];
  19.  
  20. solve satisfy;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement