Feladat: S.30 Korcsoport: - Nehézségi fok: -
Füzet: 2007/november, 492. oldal  PDF  |  MathML 
Témakör(ök): Nehezebb feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Meg szeretnénk határozni, hogy egy területen adott csapadékmennyiség esetén hol alakulnak ki tavak, tócsák. Az egyszerűség érdekében a területet keresztmetszetét tekintjük, és azt rögzített hosszúságú, vízszintes szakaszokra osztjuk, melyeknek ismerjük egymáshoz viszonyított magasságát. Azt is feltesszük, hogy a területen egyenletesen oszlik el az eső.

 
 

Az esővíz a magasabban lévő vízszintes szakaszokról a velük szomszédos, alacsonyabban lévő vízszintes szakaszokra folyik. Azokon a szakaszokon, melyeknek mindkét szomszédos szakaszának vízszintje alacsonyabban van, fele-fele arányban oszlik szét a két szomszédos szakasz között a középsőre eső csapadék. A terület szélein lévő szakaszokról csak a terület belseje felé tud folyni a víz.
Készítsünk programot, mely meghatározza, hogy az esőzés után végül mely szakaszokon gyűlt össze a csapadékvíz. A program a bemenetet az s30.be fájlból olvassa. Ennek első sora két, szóközzel elválasztott egész számot tartalmaz: a csapadék milliméterben mért mennyiségét és a szakaszok N számát (1N10000). A második sor pontosan N darab, szóközzel elválasztott egész számot tartalmaz: sorra az egyes szakaszok magasságát, milliméterben mérve, a legalacsonyabb magassághoz viszonyítva.
A program kimenete az s30.ki fájl legyen, melynek egyetlen sora N db, szóközzel elválasztott számjegyet tartalmazzon. Az i-edik számjegy 1, ha az i-edik szakaszon van víz, egyébként pedig 0.
A fent látható ábrához tartozó példa: