[informatica] aaa.bbb
Moderators: ArcherBarry, Fuzzwood
-
- Berichten: 171
[informatica] aaa.bbb
Heey een vraagje over een spel.
ik heb de letters
AAA.BBB met 1 lege ruimte er tussen, die ruimte is voor precies 1 letter.
nu moet ik naar het eindtoestand komen:
BBB.AAA
je mag hierbij maar 1 zet tegelijkertijd doen.
bij die zet geldt t volgende:
De A's mogen alleen naar rechtsbewegen, ze mogen niet naar links of achteruit ofzo..
De B's mogen alleen naar links bewegen en niet achteruit of naar rechts ofzo..
een letter mag niet over een letter springen vandezelfde soort.Maar wel over een letter van de andere soort.
Dus A mag niet over A springen.
hier een voorbeeld:
AAA.BBB ==>
AA.ABBB ==>
AABA.BB ==>
AABAB.A ==>
AABABA. ==>
etc..
maar als er ergens geldt bijv; .AAABBB dan is er geen zet meer mogelijk
nu is de vraag: ik wil voor willekeurige aantal A's en B' een strategie maken en die met
c++ programmeren, kent iemand al een s ite over dit spel? of een strategie?
ik heb de letters
AAA.BBB met 1 lege ruimte er tussen, die ruimte is voor precies 1 letter.
nu moet ik naar het eindtoestand komen:
BBB.AAA
je mag hierbij maar 1 zet tegelijkertijd doen.
bij die zet geldt t volgende:
De A's mogen alleen naar rechtsbewegen, ze mogen niet naar links of achteruit ofzo..
De B's mogen alleen naar links bewegen en niet achteruit of naar rechts ofzo..
een letter mag niet over een letter springen vandezelfde soort.Maar wel over een letter van de andere soort.
Dus A mag niet over A springen.
hier een voorbeeld:
AAA.BBB ==>
AA.ABBB ==>
AABA.BB ==>
AABAB.A ==>
AABABA. ==>
etc..
maar als er ergens geldt bijv; .AAABBB dan is er geen zet meer mogelijk
nu is de vraag: ik wil voor willekeurige aantal A's en B' een strategie maken en die met
c++ programmeren, kent iemand al een s ite over dit spel? of een strategie?
- Berichten: 2.005
Re: [informatica] aaa.bbb
Bij de laatste stap, hier weergegeven, gaat een A naar links. En je zegt net zelf dat dat niet magzijtjeszotjes schreef:De A's mogen alleen naar rechtsbewegen, ze mogen niet naar links of achteruit ofzo..
De B's mogen alleen naar links bewegen en niet achteruit of naar rechts ofzo..
AAA.BBB ==>
AA.ABBB ==>
AABA.BB ==>
AABAB.A ==>
AABABA. ==>
etc..
...verhit de dichloormono-oxide tot 277 graden Celcius en geniet van het effect...
- Berichten: 5.679
Re: [informatica] aaa.bbb
Misschien interpreteer ik je regels verkeerd, maar je kunt toch altijd eerst alle B's naar links halen en dan alle A's nog eentje naar rechts schuiven?
Dus zo: (de letter die beweegt even vet gemaakt om de strategie te verduidelijken)
AAA.BBB
AAAB.BB
AABA.BB
ABAA.BB
BAAA.BB
BAAAB.B
BAABA.B
BABAA.B
BBAAA.B
BBAAAB.
BBAABA.
BBABAA.
BBBAAA.
BBBAA.A
BBBA.AA
BBB.AAA
En dit werkt ook voor ieder ander aantal A's en B's (ook als er niet evenveel A's als B's zijn).
Dus zo: (de letter die beweegt even vet gemaakt om de strategie te verduidelijken)
AAA.BBB
AAAB.BB
AABA.BB
ABAA.BB
BAAA.BB
BAAAB.B
BAABA.B
BABAA.B
BBAAA.B
BBAAAB.
BBAABA.
BBABAA.
BBBAAA.
BBBAA.A
BBBA.AA
BBB.AAA
En dit werkt ook voor ieder ander aantal A's en B's (ook als er niet evenveel A's als B's zijn).
In theory, there's no difference between theory and practice. In practice, there is.
-
- Berichten: 171
Re: [informatica] aaa.bbb
Op een smal bergpad, met aan de ene kant een diep ravijn en aan de andere
kant een steile bergwand, ontmoeten twee groepen geiten elkaar. De ene groep bestaat
uit n zwarte en de andere groep uit n witte geiten. De zwarte geiten komen van links en
de witte geiten van rechts. Op het moment dat ze stoppen is er tussen beide groepen nog
juist 1 geitlengte vrij. Deze beginsituatie kan bijvoorbeeld voor n = 4 worden weergegeven
als: zzzz wwww.
Een geit die voor een lege plek staat kan een geitlengte doorlopen. Er is echter geen ruimte
om elkaar op de gewone manier te passeren. De geiten hebben daar het volgende op
gevonden: een geit die door een geit van de andere kleur wordt gescheiden van een lege
plek kan over die andere heenspringen. Geiten springen dus nooit over geiten van de eigen
kleur heen.
De geiten kunnen zich niet omdraaien of achteruit lopen/springen, dus de zwarte geiten
bewegen alleen van links naar rechts en de witte geiten alleen van rechts naar links.
De bedoeling is dat de rechtsgaande en de linksgaande groep van plaats verwisseld worden,
zodat ze hun weg kunnen vervolgen. De eindsituatie voor bijvoorbeeld n = 4 is dan:
wwww zzzz. Het verwisselingsproces vindt plaats op een recht stukje pad dat precies plaats
biedt aan 2n + 1 geiten (er is dus altijd 1 plek open).
Opm. (Om misverstanden te voorkomen.) De zwarte en witte geiten hoeven niet om de
beurt te bewegen; het volgende is bijv. toegestaan:
zzzz.wwww ->zzz.zwwww ->zz.zzwwww->z zzzwwww etc
okeey. Ik heb een strategie nodig die ik zonder veel moeite in C++ kan programmeren.
bekijk:
AAA.BBB
AA.ABBB
AABA.BB
AABAB.B
AAB.BAB
A.BABAB
.ABABAB
BA.ABAB
--------------- vanaf hier symmetrisch, BA.ABAB is symmetrisch met BABA.AB etc..
BABA.AB
BABABA.
BABAB.A
BAB.BAA
B.BABAA
BB.ABAA
BBBA.AA
BBB.AAA
in 15 stappen. De strategie is eigenlijk zo:
beweeg 1 B
beweeg 2 G's
beweeg 3 B's
dan 1 G (eigenlijk 4 modulo 3).
etc...
in ieder geval..er is een symmetrie te zien in de stappen. Wat je doet in
de eerste helft, doe je weer in de tweede helft in omgekeerde volgorde voor de andere letter.
maar ik heb er nog moeite mee!
kant een steile bergwand, ontmoeten twee groepen geiten elkaar. De ene groep bestaat
uit n zwarte en de andere groep uit n witte geiten. De zwarte geiten komen van links en
de witte geiten van rechts. Op het moment dat ze stoppen is er tussen beide groepen nog
juist 1 geitlengte vrij. Deze beginsituatie kan bijvoorbeeld voor n = 4 worden weergegeven
als: zzzz wwww.
Een geit die voor een lege plek staat kan een geitlengte doorlopen. Er is echter geen ruimte
om elkaar op de gewone manier te passeren. De geiten hebben daar het volgende op
gevonden: een geit die door een geit van de andere kleur wordt gescheiden van een lege
plek kan over die andere heenspringen. Geiten springen dus nooit over geiten van de eigen
kleur heen.
De geiten kunnen zich niet omdraaien of achteruit lopen/springen, dus de zwarte geiten
bewegen alleen van links naar rechts en de witte geiten alleen van rechts naar links.
De bedoeling is dat de rechtsgaande en de linksgaande groep van plaats verwisseld worden,
zodat ze hun weg kunnen vervolgen. De eindsituatie voor bijvoorbeeld n = 4 is dan:
wwww zzzz. Het verwisselingsproces vindt plaats op een recht stukje pad dat precies plaats
biedt aan 2n + 1 geiten (er is dus altijd 1 plek open).
Opm. (Om misverstanden te voorkomen.) De zwarte en witte geiten hoeven niet om de
beurt te bewegen; het volgende is bijv. toegestaan:
zzzz.wwww ->zzz.zwwww ->zz.zzwwww->z zzzwwww etc
okeey. Ik heb een strategie nodig die ik zonder veel moeite in C++ kan programmeren.
bekijk:
AAA.BBB
AA.ABBB
AABA.BB
AABAB.B
AAB.BAB
A.BABAB
.ABABAB
BA.ABAB
--------------- vanaf hier symmetrisch, BA.ABAB is symmetrisch met BABA.AB etc..
BABA.AB
BABABA.
BABAB.A
BAB.BAA
B.BABAA
BB.ABAA
BBBA.AA
BBB.AAA
in 15 stappen. De strategie is eigenlijk zo:
beweeg 1 B
beweeg 2 G's
beweeg 3 B's
dan 1 G (eigenlijk 4 modulo 3).
etc...
in ieder geval..er is een symmetrie te zien in de stappen. Wat je doet in
de eerste helft, doe je weer in de tweede helft in omgekeerde volgorde voor de andere letter.
maar ik heb er nog moeite mee!