[2021][ruby][8.2] clean up minizinc solver
change yvpstotxovulpoopmwomznnvwyqotxys
commit 4234a7834430772e1109923590723fb84d5bb0c0
author Alpha Chen <alpha@kejadlen.dev>
date
parent zlknppnq
diff --git a/2021/ruby/day_08.mzn b/2021/ruby/day_08.mzn
index e9ce265..865b247 100644
--- a/2021/ruby/day_08.mzn
+++ b/2021/ruby/day_08.mzn
@@ -14,7 +14,7 @@ set of Signals: Eight = { A, B, C, D, E, F, G };
 set of Signals: Nine = { A, B, C, D, F, G };
 array[1..10] of set of Signals: AllSignals = [ Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine ];
 
-array[int] of set of Signals: Patterns;
+array[1..10] of set of Signals: Patterns;
 % Patterns = [
 %   { A, C, E, D, G, F, B },
 %   { C, D, F, B, E },
@@ -31,10 +31,8 @@ array[int] of set of Signals: Patterns;
 array [Signals] of var Signals: Map;
 
 constraint alldifferent(Map);
-constraint forall(pattern in Patterns)(
-  exists(digit in AllSignals)(
-    { Map[x] | x in pattern } = digit
-  )
+constraint forall(pattern in [ { Map[x] | x in pattern } | pattern in Patterns])(
+  exists(digit in AllSignals)(pattern = digit)
 );
 
 output [show(Map)];
\ No newline at end of file