|
enum Women=...; enum Men=...; int rankWomen[Women,Men] = ...; int rankMen[Men,Women] = ...; var Women wife[Men]; var Men husband[Women]; solve { forall(m in Men) husband[wife[m]] = m; forall(w in Women) wife[husband[w]] = w; forall(m in Men & o in Women) rankMen[m,o] < rankMen[m,wife[m]] => rankWomen[o,husband[o]] < rankWomen[o,m]; forall(w in Women & o in Men) rankWomen[w,o] < rankWomen[w,husband[w]] rankMen[o,wife[o]] < rankMen[o,w]; }; |
|
|