this repo has no description
1int: n;
2
3enum Men = anon_enum(n);
4enum Women = anon_enum(n);
5
6array[Women, Men] of int: rankWomen;
7array[Men, Women] of int: rankMen;
8
9array[Men] of var Women: wife;
10array[Women] of var Men: husband;
11
12% Asignación
13constraint forall (m in Men) (husband[wife[m]]=m);
14constraint forall (w in Women) (wife[husband[w]]=w);
15
16% Lista de clasificación (ranking).
17constraint forall (m in Men, o in Women) (
18 rankMen[m,o] < rankMen[m,wife[m]] ->
19 rankWomen[o,husband[o]] < rankWomen[o,m] );
20
21constraint forall (w in Women, o in Men) (
22 rankWomen[w,o] < rankWomen[w,husband[w]] ->
23 rankMen[o,wife[o]] < rankMen[o,w] );
24solve satisfy;
25
26output ["Esposas= \(wife)\n Maridos= \(husband)\n"];