Kezdőoldal » Számítástechnika » Programozás » Hogy kéne megoldani ezt a...

Hogy kéne megoldani ezt a feladatot? (C# de mindegy a nyelv végülis)

Figyelt kérdés

Józsika egy osztálytársával játszik. Van N darab üveggolyójuk egy kupacban. N 1-100000 intervallumban lehet.

Egyik körben Józsika vesz el X darab golyót a kupacból, másik körben az osztálytársa úgy, hogy X csak négyzet szám lehet, tehát 1, 4, 9, 16, 25 stb. Az a játékos nyer, aki az utolsó golyót elveszi.

Ha optimálisan játszanak, megnyerheti-e Józsika a játékot, feltéve, hogy mindig ő kezd?



2020. júl. 11. 18:36
1 2 3 4 5 6
 51/51 anonim válasza:
100%

Ha 1 golyó van, akkor Józsi nyer, mert elveszi az egyetlen golyót. Az 1 tehát az aktuálisan következő játékos számára nyerő pozíció.

Ha 2 golyó van, akkor az ellenfél nyer, mert Józsi csak 1 golyót tud elvenni. Ezután marad 1 golyó, ami az előzőek szerint az aktuálisan következő játékos (tehát az ellenfél) számára nyerő pozíció. Tehát a 2 az aktuálisan következő játékos számára vesztő pozíció, azaz bármilyen jól is játszik, az ellenfele meg tudja nyerni a játékot.

Ha 3 golyó van, akkor Józsi nyer, mert elvesz 1 golyót. Így marad 2 golyó, ami az előzőek szerint az aktuálisan következő játékos (tehát az ellenfél) számára vesztő pozíció. A 3 tehát az aktuálisan következő játékos számára nyerő pozíció.

Ha 4 golyó van, akkor Józsi nyer, elveszi mind a 4 golyót. A 4 tehát az aktuálisan következő játékos számára nyerő pozíció.

Ha 5 golyó van, akkor az ellenfél nyer, mert Józsi vagy 1 vagy 4 golyót vehet el. Így vagy 4 vagy 1 golyó marad, de a 4 és az 1 is az aktuálisan következő játékos (tehát az ellenfél) számára nyerő pozíció.

És így tovább...

Sorban minden egyes pozícióra el tudjuk dönteni, hogy az adott pozíció az aktuálisan következő játékos számára nyerő pozíció-e:

Az adott pozíció az aktuálisan következő játékos számára nyerő pozíció, ha tud olyan pozícióba lépni, ami az aktuálisan következő számára vesztő pozíció.

Az adott pozíció az aktuálisan következő játékos számára vesztő pozíció, ha csak olyan pozíciókba tud lépni, amik az aktuálisan következő játékos számára nyerő pozíciók.


0 V

1 N (a kezdő nyer)

2 V (a kezdő veszít)

3 N

4 N

5 V

6 N

7 V

8 N

9 N

10 V

...

2020. júl. 12. 12:19
Hasznos számodra ez a válasz?
1 2 3 4 5 6

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!