Computerra szóbeli csata

Nem is olyan régen bevezettek egy verbális játékba, amelyről még soha nem hallottam. Lehet, hogy valóban új vagy éppen ellenkezőleg egy elfelejtett öreg. Végtére is, most van a polcokon, mint a gomba eső után, könyveket, mint a „játék a szabadidejében”, ami teljesen nélkül linkeket szerzői nyomtatni ezeket a játékokat, amelyek azt írta: „Tudomány és Élet” 20-30 évvel ezelőtt, valamint a játékok, a szórakoztató matematika klasszikusainak könyvéből - G. Dyudeni, S. Loyd, L. Carroll, M. Gardner ...

Különben is, és ez a játék egyszerű és érdekes - vagyis elég érdemes megmondani róla. Amit csinálok.

Nem tudod átugrani egy fordulót, vagyis minden egyes betűket minden játékosnak meg kell írnia. Összességében a játék nem haladja meg a 36 lépést, majd a játékosok kiszámítják eredményüket. A játékban meg kell adni a körök teljes számát, így a mozgások teljes számát meg kell osztani a játékosok számával. Például, ha öt ember játszik, akkor 25, 30 vagy 35 lépést tehet (minden esetben a játék időtartamát az első lépés előtt tárgyalni kell).

Példa egy töltött négyzetre:

Mint minden játék, a "verbális csata" lehetővé teszi egy csomó lehetőséget és változatokat. Csak azokat adom meg, amelyek azonnal eljutnak a fejembe, és hagyom a többit az olvasónak.

1. változat (egyszerűsítés): a játékot nem 36 mezőben, hanem az egész cellás síkon rögzített négyzeten játssza le. Ugyanakkor az ideális esetben van valami olyan, mint egy megfelelő keresztrejtvény: minden játékos számára előnyös, hogy a hozzájuk írt betűk nem egy szóval, hanem azonnal több szóra esnek. A játék ezen verziója közelebb áll a klasszikus "scrabble" -hoz (hazánkban "erudita" és "keresztrejtvényként" ismert).

2. változat (komplexitás): az összes kapott szót a játék vége felé hangosan olvasni, ami után ugyanazokat a szavakat áthúzott, és nem számítanak bele sem a játékos, aki ezt a szót. Ez a szabály gondoskodik róla, hogy milyen szavakat kell felírnia a hangos levelekből. A végén általában vívja azt, aki sok nem triviális szót tudott elérni.

És most - feladatok azoknak a rajongóknak, akik nem csak maguk játszanak, hanem programoznak is.

Képzelje el, hogy rendelkezésére áll egy fájl szótár. Írj egy olyan programot, amely pontokat számíthat egy már játszott játékban - egy töltött 6x6 négyzetben.

Elméletileg, a "verbális csatában" egyedül játszhatsz, mert ehhez csak egy emberre van szüksége (például egy számítógépre), hogy véletlenszerűen kiadja a következő levelet. Természetesen jobb, ha figyelembe vesszük a levél megjelenésének gyakoriságát orosz szóban.

Ha megoldotta ezeket a két problémát, akkor már mindent meg kell tudnia játszani a szavakkal a számítógépen, felhasználva és levél generátorként, valamint az összeg kiszámításához. És ha a táblázatban, amelybe betöltötte, megtalálta a szót, amely nincs a számítógép szótárában, akkor automatikusan hozzáadhatja a szótárhoz, ugye? Csak egy ilyen lehetőségre van szüksége.

A legérdekesebb új játékokat rendszerint a két régi átkelés eredményeként kapják meg. Próbálj átmenni a "verbális csata" és a "színes sorok" között: minden új szó pontokat hoz, amelyek után minden alkotó betű eltűnik, és felszabadítja a helyet. Ebben az új betűk jelennek meg a táblán, nem egy, hanem párban vagy akár három egyszerre, mire az egyik betű lehet mozgatni egy másik helyre, ugyanúgy, mint a gyöngyöket át a „Color Lines”.

Ez a játék hosszú időt vehet igénybe, és akkor fejeződik be, amikor kitölti az egész mezőt. Ennek eredményeképpen a képzett játékos sok pontot szerezhet.

És most - a legnehezebb feladat.

Írj egy olyan programot, amely "verbális csatát" játszana a fent leírt kanonikus szabályok szerint. Ismét erre szükséged van egy szótárra - gondolod, hogy van.

Megpróbálhatja végrehajtani a játék két különböző verzióját:

a) maga a program véletlenszerűen meghatározza a következő betűt (de őszintén játszik, vagyis nem használja azt a tudást, hogy melyik levél lesz a következő lépés);

b) az összes mozgás a szövegfájlból származik (természetesen a programból és itt is "becsületességet" igényel).

Írja. Megpróbálok válaszolni az összes betűre.

Kapcsolódó cikkek