1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
on-restart-benchmarks/docs/en/examples/assignment-extend-enum.mzn
Jip J. Dekker fad1b07018 Squashed 'software/minizinc/' content from commit 4f10c8205
git-subtree-dir: software/minizinc
git-subtree-split: 4f10c82056ffcb1041d7ffef29d77a7eef92cf76
2021-06-16 14:06:46 +10:00

16 lines
466 B
MiniZinc

include "alldifferent_except.mzn";
enum Flatmates = { Anne, Bert, Ceci, Dave };
enum Chores = { Cooking, Vacuuming, Bathroom, Kitchen, Rubbish };
enum ChoreOrNothing = C(Chores) ++ { Nothing };
array[Flatmates] of var ChoreOrNothing: assignment;
constraint alldifferent_except(assignment, {Nothing});
output [ show(f)++":\t"++
if fix(assignment[f])=Nothing then "Nothing\n"
else show(C^-1(assignment[f]))++"\n" endif
| f in Flatmates];