Az S. 37. feladat (2008. szeptember) |
S. 37. A Bergengóciai Félvezetőgyár kétmagos processzorok bevezetését tervezi. Az új processzorok esetében is szeretnék alkalmazni azt a már jól bevált módszert, hogy az egyes legyártott példányokat nem előre meghatározott sebességtartományokba sorolják, hanem minden egyes példányra méréssel meghatározzák azt a legnagyobb órajelet, amelyen az hosszú távon biztonságosan üzemeltethető, és a processzort e frekvencián árulják. Mivel a legyártott chipek minősége széles tartományban változik, a gyártó kínálatában a legkülönfélébb órajeleken üzemelő processzorok megtalálhatók.
A vállalat új, kétmagos processzorai gyakorlatilag két egymagos processzorból állnak, melyeket egybe tokoznak. Noha az egyenkénti gyártás miatt a magok legnagyobb órajele eltér, a két mag csak azonos frekvencián üzemeltethető, a kettő minimumán. A gazdaságosság érdekében ezért a magokat úgy kell párosítani, hogy legnagyobb órajelük csak kis mértékben térjen el.
Írjunk programot, mely a legyártott magok közül a lehető legtöbbet párosítja úgy, hogy egy páron belül a két mag legnagyobb órajele egy adott tűréshatárnál nem tér el jobban egymástól. A program a legyártott processzormagok legnagyobb órajeleit fájlból olvassa, az eredményt fájlba írja. A bemeneti, illetve kimeneti fájlok nevei az első, illetve második parancssori argumentumok.
A bemeneti fájl első sorában két, szóközzel elválasztott egész szám: a legyártott processzormagok száma és a 0T1000 tűréshatár szerepel, az ezt követő N sor mindegyikében pedig egy-egy egész szám: az (i+1)-edik sorban az i-edik mag megengedhető legnagyobb órajele. A kimeneti fájl első sorában az elkészíthető párok maximális P száma szerepeljen, az ezt követő P darab sorban pedig a párokban szereplő két mag sorszáma egymástól szóközzel elválasztva. A párok kiírásának sorrendje tetszőleges, több megoldás esetén bármelyik megadható.
Beküldendő a program forráskódja (s37.pas, s37.cpp, ...), valamint a program rövid dokumentációja (s37.txt, s37.pdf, ...), amely tartalmazza a megoldás rövid 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. október 15-én LEJÁRT.
Statisztika:
27 dolgozat érkezett. 10 pontot kapott: Kovács 125 András, Seregi Benjamin Martin, Várnai Péter, Wagner Zsolt. 9 pontot kapott: Énekes Péter, Nagy 111 Miklós, Strenner Péter, Weisz Ágoston. 8 pontot kapott: 8 versenyző. 7 pontot kapott: 1 versenyző. 6 pontot kapott: 3 versenyző. 5 pontot kapott: 1 versenyző. 4 pontot kapott: 2 versenyző. 3 pontot kapott: 1 versenyző. 2 pontot kapott: 2 versenyző. 1 pontot kapott: 1 versenyző.
A KöMaL 2008. szeptemberi informatika feladatai