Az S. 29. feladat (2007. október) |
S. 29. Tavaly szeptemberben már találkozhattunk a Sudoku nevű játékkal (I. 136.), a mostani feladat is ehhez kapcsolódik. A játék megoldása során egy 9×9-es táblázatot kell kitöltenünk 1 és 9 közötti számokkal úgy, hogy minden sorban, oszlopban és 3×3-as kis négyzetben csak egyszer fordulhat elő minden egyes számjegy.
Készítsünk az alábbiak szerint működő programot, amely egy részben kitöltött táblázatot egészít ki:
- ha a megoldás egyértelmű, akkor a kimenet 9×9 karakter sorokra tördelve, a teljes kitöltött táblázat;
- ha a megoldás nem egyértelmű, akkor kiírandó egy lehetséges megoldás (9×9 karakter), a 10. sorban pedig ``A megoldas nem egyertelmu'' szöveg;
- ha nincs megoldás, akkor a kimenet egyetlen sora a ``Nincs megoldas'' szöveg.
A program bemenete a parancssor első argumentumaként kapott szöveges állomány, amely 9 sort tartalmaz. Ebben találhatók a számjegyek, illetve a hiányzó számjegyek helyén egy pont. Az eredmény a standard kimeneten jelenjen meg.
Beküldendő a program forráskódja (s29.pas, s29.cpp, ...), a megoldás rövid dokumentációja (s29.txt, s29.pdf, ...) valamint a megoldáskor alkalmazott fordítóprogram neve és verziószáma (pl. Free Pascal 2.0, Borland C++ 3.1, ...).
(10 pont)
A beküldési határidő 2007. november 15-én LEJÁRT.
Megoldás. A versenyzők többsége visszalépéses kereséssel oldotta meg a feladatot.
Mintaként Fábián András (s29.pas) szegedi versenyző programját közöljük.
Statisztika:
6 dolgozat érkezett. 10 pontot kapott: Fábián András, Godó Zita, Strenner Péter, Sztupovszki Szabolcs. 9 pontot kapott: Szebeni Szilveszter. 2 pontot kapott: 1 versenyző.
A KöMaL 2007. októberi informatika feladatai