【发布时间】:2016-02-22 07:25:19
【问题描述】:
使用 CLINGO 将一组给定的正方形打包到给定的矩形区域中,而不会重叠。 例如,我们要打包正方形:
4号A,3号B,2号C和D,1号E
进入一个 5 x 8 的区域。
#const x = 8.
#const y = 5.
square(a,4; b,3; c,2; d,2; e,1).
%generate a grid:
1 { pos(X,Y) } 1 :- x(X), y(Y).
%generate placement of the squares
1 { placement(P, SQ) } 1 :- square(SQ), pos(P).
%throw out overlaps
我不确定丢弃重叠方块的限制条件是什么,或者我是否做得对。
【问题讨论】: