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
| ?-