Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az S. 35. feladat (2008. április)

S. 35. Adott a koordinátasíkon n darab (legföljebb 100) pont, melyek mindkét koordinátája egész szám. Szeretnénk ezek egy részét kiválasztani úgy, hogy a nem kiválasztott pontok mindegyikébe tudjunk a kiválasztott pontok legalább egyikéből egy olyan szakaszt húzni, melyre nem esik egyetlen más pont sem. Adjunk meg egy lehető legkisebb elemszámú kiválasztandó részhalmazt.

A számpárok egy szöveges állomány egymást követő soraiban találhatók, egymástól szóközzel elválasztva. A program a parancssorának első paraméterében megadott szöveges állományból olvassa be őket, majd a parancssor második paraméterében megadott szöveges állományba írja ki a bemenethez hasonló formátumban a részhalmaz pontjainak koordinátáit.

Beküldendő a program forráskódja (s35.pas, s35.cpp, ...), valamint a program rövid dokumentációja (s35.txt, s35.pdf, ...), amely tartalmazza a megoldás vázlatos leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.

(10 pont)

A beküldési határidő 2008. május 15-én LEJÁRT.


A megoldást adó program a következőt teszi:

1. A bemeneti állomány feldolgozása után megvizsgálja, hogy mely pontok közé húzható más pontot nem tartalmazó szakasz.

2. Megszámolja, hogy melyik pontból hány ilyen szakasz húzható, és átrendezi a pontokat csökkenő sorrendbe aszerint, hogy hány másik pont "érhető el" belőlük.

3. Ezután visszalépéses kereséssel megvizsgálja, hogy a pontok melyik részhalmaza lesz megfelelő: először az egyelemű, aztán a kételemű, stb. halmazokat veszi. A keresés mindig a legkisebb indexű, tehát legtöbb másik pontot elérő szakaszokkal indul, ezért aránylag kevés eset végignézésével talál megoldást.

Az algoritmus a következő Pascal programban (Delphi Console alkalmazás) található: s35mo.dpr.

A beküldött munkákat a következő forrásokkal teszteltük: teszt.zip , és az s35ell.dpr (szintén Delphi karakteres ablakban futó) programmal ellenőriztük.


Statisztika:

3 dolgozat érkezett.
10 pontot kapott:Weisz Ágoston.
5 pontot kapott:2 versenyző.

A KöMaL 2008. áprilisi informatika feladatai