:elpmaxe roF .detcartbus ro dedivid nehw eulav niatrec a dleiy tsum sllec owt taht ro ;deilpitlum nehw eulav niatrec a dleiy tsum ro ,eulav niatrec a ot pu dda tsum sllec suougitnoc erom ro 1 taht yas taht segac yb defiiceps era stniartsnoc artxe esehT .tem eb nac stniartsnoc artxe niatrec taht os dna ,N hguorht 1 morf sregetni eht lla sniatnoc nmuloc yreve dna wor yreve taht os ,sregetni htiw dirg N×N na ni llfi ot si laog esohw elzzup lacigol-lacitemhtira na si neKneK
noitavitoM revlos neKneK .4 krowemoH
yb nekat hcaorppa coh da eht naht rehtar seigetarts noitulos fo tsil llams a no yler nac tI .trams taht eb ot deen t’nseod melborp siht gnivlos retupmoc A
.gninosaer ralimis gnisu ,elzzup eht fo tser eht tuo gnillfi yrt thgim uoy ,nuf roF .yrtne na decuded won evah ew ;si 5 eht erehw eb tsum 2 nmuloc ,3 wor ni yrtne eht ,4 wor ro 1 nmuloc rehtie ni eb t’nac ti ecnis dna ,erehwemos 5 a niatnoc tsum tfel muidem ta “×042” ehT .4 wor ro 1 nmuloc rehtie ni 5 rehtona eb tonnac ereht ,eroferehT .thgir muidem ta “×03” eht tsum sa ,6 a dna 5 a niatnoc tsum tfel reppu ta “+11″ ehT .gniwollof eht ekil stnemugra htiw tuo ti nosaer nac elzzup siht gniod namuh A
egamI
+9
×6
×03 +7
×6
÷3
-3
×6 ×02
÷2 +11
÷2
+8
×6
×042
tiderc
+( , ) *( , )
−( , , )
/( , , )
[ |1]
[1| ]
kenken/3
[|]
debircsed sa ,tniartsnoc hcae ot tnemugra tsrfi ehT .regetni evitagennon a eb osla tsum N .selbairav lacigol yna gniniatnoc smret ro selbairav lacigol eb tonnac yeht ,si taht ,smret dnuorg eb tsum C dna N .snoitidnocerP
. N si erauqs thgir pot eht dna N si erauqs tfel mottob ehT .noitseuq ni tniartsnoc eht yb detceffa si taht margaid neKneK eht ni erauqs eht yfitnedi sexedni ehT .evisulcni ,N hguorht 1 egnar eht ni sexedni nmuloc dna wor era j dna i erehw j i mret a si erauqs a ,noitpircsed evoba eht nI
.orez eb tsum redniamer ehT .j÷k ot ro k÷j rehtie ot lauqe eb dluoc Q ;K erauqs ni k regetni eht dna J erauqs ni j regetni eht fo tneitouq eht si Q regetni eht snaem
KJQ .j−k ot ro k−j rehtie ot lauqe eb dluoc D ;K erauqs ni k regetni eht dna
J erauqs ni j regetni eht neewteb ecnereffid eht si D regetni eht snaem
fo L tsil eht ni sregetni eht fo tcudorp eht si P regetni eht snaem LP
.serauqs fo L tsil eht ni sregetni fo mus eht si S regetni eht snaem LS
:mrof gniwollof eht fo si C ni tniartsnoc hcaE
.dirg N×N eht stneserper sihT .N htgnel evah stsil eht llA .sregetni fo tsil fo tsil a ,T .3 .woleb debircsed sa stniartsnoc egac ciremun fo tsil a ,C .2
.erauqs neKneK eht fo edis hcae no sllec fo rebmun eht gniyficeps regetni evitagennon a ,N .1
:stnemugra gniwollof eht stpecca taht etaciderp a etirw ,tsriF .sgniht eerhT
KJD .serauqs
tnemngissA .snamuh
vector_max
member/2
kenken/3
plain_kenken/3
is/2 plain_kenken/3
kenken/3
plain_kenken/3
vector_max
statistics/0 statistics/2
kenken/3
noop_kenken_testcase
kenken(1,[],T)
[[1]] kenken(2,[],T)
[[1,2],[2,1]] T = [[2,1],[1,2]]
T=
T =
fo rebmun eht ,stniartsnoc on htiW . ,srewsna owt etareneg dluohs
dna
,yllaivirt ssel ylthgilS .
,rewsna eno tsuj etareneg dluohs
,elpmaxe laivirt a sA selpmaxE
etaciderp a tnemelpmi dna IPA sti yficeps ylno ,revlos eht tnemelpmi ot deen ton od uoY .woleb nwohs elyts eht gnisu ,roivaheb sti dna ,llac elpmaxe na evig ,oslA .sllac lufsseccusnu dna lufsseccus retfa smret esoht ot neppah dluohs tcepxe dluohs rellac eht tahw dna revlos ruoy ot dessap eb dluohs smret golorP tahw yficeps ,.e.i ,revlos ruoy rof ecafretni gnimmargorp noitacilppa doog a ngiseD .golorP UNG gnisu neKneK po-on evlos ot tnaw uoy esoppuS
.llac elpmaxe ruoy smrofrep taht
.detrats teg uoy pleh nac selzzup neKneK po-on evfi fo tes sihT .noitulos eht fo trap si snoitarepo fo eciohc eht dna ,snoitarepo eht ecuded tsum revlos elzzup ehT .srebmun tegrat ylno niatnoc dna ,snoitarepo kcal segac s’elzzup eht tub ,nekneK ekil si nekneK po-oN .nekneK po-on gnivlos fo melborp eht redisnoc ,drihT
. ro
htiw ecnamrofrep gnirusaem ,eciohc ruoy fo elpmaxe na no ecnereffid ecnamrofrep eht etartsullI .ecnamrofrep esrow evah yam ti taht si ffoedart
eht , naht ssel sregetni ot detcirtser eb ton dluohs dna
naht relpmis eb dluohs hguohtlA . dna sa hcus sevitimirp golorP dradnats gnisu snoitulos regetni elbissop eht etaremune dluohs ,daetsnI .revlos niamod etinfi golorP UNG eht esu ton seod tub ekil stca taht etaciderp a etirw ,dnoceS
.dirg eritne eht ro ,swor eritne tneserper nac ro ,ni llfi dluohs taht sregetni tneserper nac hcihw ,selbairav lacigol niatnoc yam T
.dloh snoitidnocerp eht eht taht emussa nac ti ;snoitidnocerp eseht kcehc ton deen edoc ruoY .revlos niamod etinfi golorP UNG eht ni
fo eulav tnerruc eht naht ssel si taht regetni evitagennon a eb tsum ,woleb
kenken(4,[],T)
kenken_testcase(
6,
[
+(11, [[1|1], [2|1]]),
/(2, [1|2], [1|3]),
*(20, [[1|4], [2|4]]),
*(6, [[1|5], [1|6], [2|6], [3|6]]),
-(3, [2|2], [2|3]),
/(3, [2|5], [3|5]),
*(240, [[3|1], [3|2], [4|1], [4|2]]),
*(6, [[3|3], [3|4]]),
*(6, [[4|3], [5|3]]),
+(7, [[4|4], [5|4], [5|5]]),
*(30, [[4|5], [4|6]]),
*(6, [[5|1], [5|2]]),
+(9, [[5|6], [6|6]]),
+(8, [[6|1], [6|2], [6|3]]),
/(2, [6|4], [6|5])
] ).
?- fd_set_vector_max(255), kenken_testcase(N,C), kenken(N,C,T).
C = [11+[[1|1],[2|1]], /(2,[1|2],[1|3]), 20*[[1|4],[2|4]],
6*[[1|5],[1|6],[2|6],[3|6]], -(3,[2|2],[2|3]), /(3,[2|5],[3|5]),
240*[[3|1],[3|2],[4|1],[4|2]], 6*[[3|3],[3|4]], 6*[[4|3],[5|3]],
7+[[4|4],[5|4],[5|5]], 30*[[4|5],[4|6]], 6*[[5|1],[5|2]],
9+[[5|6],[6|6]], 8+[[6|1],[6|2],[6|3]], /(2,[6|4],[6|5])]
N= 6
T = [[5,6,3,4,1,2],
[6,1,4,5,2,3],
[4,5,2,3,6,1],
[3,4,1,2,5,6],
[2,3,6,1,4,5],
[1,2,5,6,3,4]] ?
kenken(3,[],T)
.margaid neKneK evoba eht stneserper ti ;tcaf gniwollof eht evah uoy esoppuS .eno ot snoitulos fo rebmun eht worran ot stniartsnoc esu selzzup neKneK laeR
.srewsna 675 etareneg dluohs dna ,srewsna 21 etareneg dluohs ,elpmaxe rof :N htiw yldipar sworg srewsna
:)tfi ot detnednier( siht tuptuo dluohs
:yreuq eht ,nehT
kenken( 4,
[
+(6, [[1|1], [1|2], [2|1]]),
*(96, [[1|3], [1|4], [2|2], [2|3], [2|4]]),
-(1, [3|1], [3|2]),
-(1, [4|1], [4|2]),
+(8, [[3|3], [4|3], [4|4]]),
*(2, [[3|4]])
],
T
), write(T), nl, fail.
[[1,2,3,4],[3,4,2,1],[4,3,1,2],[2,1,4,3]]
[[1,2,4,3],[3,4,2,1],[4,3,1,2],[2,1,3,4]]
[[2,1,3,4],[3,4,2,1],[4,3,1,2],[1,2,4,3]]
[[2,1,4,3],[3,4,2,1],[4,3,1,2],[1,2,3,4]]
[[3,1,2,4],[2,4,3,1],[4,3,1,2],[1,2,4,3]]
[[3,2,4,1],[1,4,2,3],[4,3,1,2],[2,1,3,4]]
no
kenken.pl
;
$ pxE tregge 75:65:91 11/20/1202 301.1 v,lmth.4wh :dI$ .selur gniypoc eeS .treggE luaP 1202 ,8102 ,5102 ,4102 ,0102–8002 ©
.elfi txet etarapes a sa ti timbus esaelp ,stnemmoc eht ni s’tahw naht rehto ,dedeen si noitamrofni txet artxe yna fI .edoc detseuqer eht lla gniniatnoc deman elfi a timbuS
:snoitulos eht lla etareneg ot elba eb dluohs revlos ruoY .snoitulos elpitlum sah ti esuaceb neKneK tcirts rof dilav ton si taht elzzup a fo ,elpmaxe rehtona s’ereH
.”on” eb dluohs tluser txen eht ” ” a htiw dnopser uoy fi dna
timbuS
:tuptuo dluohs sihT