Az S. 45. feladat (2009. május) |
S. 45. Rejtvénylapokban sűrűn előfordul az ún. ,,összekötögetős'' feladat, amelyben egy N×N-es négyzetháló bizonyos mezőiben található azonos betűket kell összekötni úgy, hogy ezek az összekötő vonalak nem metszik és nem is fedik át egymást. Készítsünk programot, amely egy legföljebb 20×20-as négyzethálóban megadja az összes betűpár megfelelő összekötését, ha lehetséges, különben meghatároz egy olyan összeköttetés rendszert, amelyben a lehető legtöbb betűpár szabályosan össze van kötve.
A program a négyzetháló leírását az első parancssori argumentumaként megadott szöveges állományból olvassa. Egy N×N-es négyzetháló esetén a bemeneti állomány N sorból áll, mely sorok mindegyikében N karakter található. Az összekötendő betűk az angol ABC nagybetűi (legföljebb 25), az üres mezők helyén egy szóköz található.
A program a második parancssori argumentumaként megadott szöveges állományba írja a kitöltött táblázatot, amelyben az összeköttetést a nagybetűk között a velük azonos kisbetűk mutatják. Amennyiben az összeköttetés nem teljesen oldható meg, például k betűpár már nem köthető össze, úgy a standard kimenetre írjuk ki a ,,k betűpár összekötése nem sikerült'' szöveget, és a kimeneti állomány csak egy olyan részben kitöltött táblázatot tartalmazzon, ahol a lehető legtöbb betűpár van összekötve.
Beküldendő a program forráskódja (s45.pas, s45.cpp, ...) valamint a program dokumentációja (s45.txt, s45.pdf, ...), amely vázlatosan leírja a megoldás menetét és megadja, hogy a forrásállomány melyik fejlesztőkörnyezetben fordítható.
(10 pont)
A beküldési határidő 2009. június 15-én LEJÁRT.
Statisztika:
7 dolgozat érkezett. 7 pontot kapott: 1 versenyző. 6 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző. 4 pontot kapott: 2 versenyző. 3 pontot kapott: 2 versenyző.
A KöMaL 2009. májusi informatika feladatai