43 using namespace Gecode;
56 static const int n = 26;
69 a(le[ 0]),
b(le[ 1]),
c(le[ 2]), e(le[ 4]), f(le[ 5]),
70 g(le[ 6]), h(le[ 7]),
i(le[ 8]), j(le[ 9]), k(le[10]),
71 l(le[11]),
m(le[12]), n(le[13]), o(le[14]), p(le[15]),
72 q(le[16]),
r(le[17]), s(le[18]), t(le[19]), u(le[20]),
73 v(le[21]), w(le[22]), x(le[23]), y(le[24]), z(le[25]);
75 rel(*
this,
b+
a+l+l+e+t == 45, opt.
icl());
76 rel(*
this,
c+e+l+l+o == 43, opt.
icl());
77 rel(*
this,
c+o+n+
c+e+
r+t == 74, opt.
icl());
78 rel(*
this, f+l+u+t+e == 30, opt.
icl());
79 rel(*
this, f+u+g+u+e == 50, opt.
icl());
80 rel(*
this, g+l+e+e == 66, opt.
icl());
81 rel(*
this, j+
a+z+z == 58, opt.
icl());
82 rel(*
this, l+y+
r+e == 47, opt.
icl());
83 rel(*
this, o+
b+o+e == 53, opt.
icl());
84 rel(*
this, o+p+e+
r+
a == 65, opt.
icl());
85 rel(*
this, p+o+l+k+
a == 59, opt.
icl());
86 rel(*
this, q+u+
a+
r+t+e+t == 50, opt.
icl());
87 rel(*
this, s+
a+x+o+p+h+o+n+e == 134, opt.
icl());
88 rel(*
this, s+
c+
a+l+e == 51, opt.
icl());
89 rel(*
this, s+o+l+o == 37, opt.
icl());
90 rel(*
this, s+o+n+g == 61, opt.
icl());
91 rel(*
this, s+o+p+
r+
a+n+o == 82, opt.
icl());
92 rel(*
this, t+h+e+
m+e == 72, opt.
icl());
93 rel(*
this,
v+
i+o+l+
i+n == 100, opt.
icl());
94 rel(*
this, w+
a+l+t+z == 34, opt.
icl());
113 le.update(*
this, share, s.
le);
118 return new Alpha(share,*
this);
124 for (
int i = 0;
i < n;
i++) {
125 os << ((char) (
i+
'a')) <<
'=' << le[
i] << ((
i<n-1)?
", ":
"\n");
127 os << std::endl <<
"\t";
145 opt.
parse(argc,argv);
146 Script::run<Alpha,DFS,Options>(
opt);