Sziasztok!
Mellekelten kuldom a mini_nat multkor bemutatott "jobbitott" valtozatait,
valamint a teglalapkirako "keretrendszer" bovitett valtozatat (fill.pl). Ez
utobbiban az az ujdonsag, hogy karaktergrafikaval ki is tudja rajzolni a
megoldasokat. Izelitoul a fill.pl vegerol idemasolok nehagy futast (az eqsq
opcio azt jelenti, hogy egyenlo oldalu negyzeteket is megengedunk).
-Peter
| ?- test(4, _, Width, Ss, [eqsq]), show_rect(Width, Ss, 4).
4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2
4 4 2 2
4 4 2 2
4 4 4 4 2 2
3 3 3 3 2 2
3 3 2 2
3 3 2 2
3 3 3 3 2 2
1 1 1 1 2 2
1 1 2 2
1 1 2 2
1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2
Ss = [1/3,1,1/3,1/3],
Width = 4/3 ? ;
3 3 3 3 4 4 4 4
3 3 4 4
3 3 4 4
3 3 3 3 4 4 4 4
1 1 1 1 2 2 2 2
1 1 2 2
1 1 2 2
1 1 1 1 2 2 2 2
Ss = [1/2,1/2,1/2,1/2],
Width = 1 ? ;
3 3 3 3 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2
3 3 4 4 2 2
3 3 4 4 2 2
3 3 3 3 4 4 4 4 2 2
1 1 1 1 1 1 1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2
Ss = [2/3,1,1/3,1/3],
Width = 5/3 ? ;
1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4
1 1 4 4
1 1 4 4
1 1 4 4 4 4
1 1 3 3 3 3
1 1 3 3
1 1 3 3
1 1 3 3 3 3
1 1 2 2 2 2
1 1 2 2
1 1 2 2
1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2
Ss = [1,1/3,1/3,1/3],
Width = 4/3 ? ;
1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 4 4 4 4
1 1 3 3 4 4
1 1 3 3 4 4
1 1 3 3 3 3 4 4 4 4
1 1 2 2 2 2 2 2 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2
Ss = [1,2/3,1/3,1/3],
Width = 5/3 ? ;
4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3
4 4 3 3
4 4 3 3
4 4 3 3
4 4 3 3
4 4 3 3
4 4 3 3
4 4 4 4 4 4 4 4 3 3
1 1 1 1 2 2 2 2 3 3
1 1 2 2 3 3
1 1 2 2 3 3
1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3
Ss = [1/3,1/3,1,2/3],
Width = 5/3 ? ;
4 4 4 4 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
4 4 2 2 3 3
4 4 2 2 3 3
4 4 4 4 2 2 3 3
1 1 1 1 2 2 3 3
1 1 2 2 3 3
1 1 2 2 3 3
1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
Ss = [1/2,1,1,1/2],
Width = 5/2 ? ;
1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4
1 1 4 4
1 1 4 4
1 1 4 4
1 1 4 4
1 1 4 4
1 1 4 4
1 1 4 4 4 4 4 4 4 4
1 1 2 2 2 2 3 3 3 3
1 1 2 2 3 3
1 1 2 2 3 3
1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3
Ss = [1,1/3,1/3,2/3],
Width = 5/3 ? ;
1 1 1 1 1 1 1 1 4 4 4 4 3 3 3 3 3 3 3 3
1 1 4 4 3 3
1 1 4 4 3 3
1 1 4 4 4 4 3 3
1 1 2 2 2 2 3 3
1 1 2 2 3 3
1 1 2 2 3 3
1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3
Ss = [1,1/2,1,1/2],
Width = 5/2 ? ;
1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 4 4 4 4
1 1 2 2 4 4
1 1 2 2 4 4
1 1 2 2 4 4 4 4
1 1 2 2 3 3 3 3
1 1 2 2 3 3
1 1 2 2 3 3
1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3
Ss = [1,1,1/2,1/2],
Width = 5/2 ? ;
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
1 1 2 2 3 3 4 4
1 1 2 2 3 3 4 4
1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4
Ss = [1,1,1,1],
Width = 4 ? ;
no
| ?- test(9, _, Width, Ss), show_rect(Width, Ss, 1).
9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 6 6 6 6 6 6 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 8 8 6 6
9 9 9 9 9 9 9 9 9 8 8 6 6
3 3 3 3 3 3 3 3 7 8 8 8 8 8 8 8 8 8 8 6 6
3 3 4 4 4 4 4 4 4 5 5 5 5 6 6
3 3 4 4 5 5 6 6
3 3 4 4 5 5 6 6
3 3 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6
3 3 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 4 4 2 2
3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Ss = [15/32,9/16,1/4,7/32,1/8,7/16,1/32,5/16,9/32],
Width = 33/32 ?
yes
| ?-