
x
A
+ x
D
+ x
G
= z
x
A
+ x
C
+ x
F
= z
x
B
+ x
E
+ x
G
= z
x
B
+ x
D
+ x
F
= z
x
C
+ x
D
+ x
E
= z
x
i
∈ {1, . . . , 7}
i ∈ {A, B, C, D, E, F, G}
model Puzzle7 ;
set i,j := ['A','B','C','D','E','F','G'];
alldiff variable x{i} [1..7];
variable z;
constraint
L1: x['A'] + x['D'] + x['G'] = z;
L2: x['A'] + x['C'] + x['F'] = z;
L3: x['B'] + x['E'] + x['G'] = z;
L4: x['B'] + x['D'] + x['F'] = z;
L5: x['C'] + x['D'] + x['E'] = z;
solve;
Write('%s , z=%d\n',{i} Format('%s=%d ', i, x), z));
parameter X{i}:=[10 50 10 30 50 10 50];
Y{i}:=[10 10 50 50 50 90 90];
set li{i,j}:=[('A','F') ('A','G') ('B','F') ('B','G') ('C','E')];
Draw.Scale(10,5);
Draw.DefFont('Verdana',20,0,2);
{li[i,j]} Draw.Line(X[i],Y[i],X[j],Y[j]);
{i} Draw.Circle(i&'='&x,X,Y,3,1,0);
end
z = 12
A=5 B=2
C=1 D=4 E=7
F=6 G=3