5. Naloga

Neskončna pokrajina

Z Daljnega vzhoda smo uvozili poceni 3D skener - napravo, ki zna meriti višino točk na neki pravokotni površini. Žal pa so izdelovalci izdelavo programskega vmesnika prepustili najcenejšemu podizvajalcu (pa še tega so očitno poiskali nekje med učenci lokalne osnovne šole),
zato nam je na voljo le ena sama funkcija za merjenje - Visina(x, y). Tej pošljemo celoštevilski koordinati točke, ki ji želimo izmeriti višino, vrne pa nam - seveda - izmerjeno višino.  Funkcija je takšne oblike:

function Visina(x, y: integer): integer;
int Visina(int x, int y);
def Visina(x, y): ...
{ v pascalu }
/** v C/C++ in podobnih jezikih }
# v pythonu; vrne int


Drugih informacij nismo dobili, zato ne vemo niti, kaj pomenita števili, ki ju pošljemo v funkcijo (v kakšnih enotah sta podani). S poskušanjem smo ugotovili le, da vrednosti ne smeta biti negativni
(potem se program sesuje) in da je izmerjena vrednost vedno večja ali enaka 0. S postavljanjem različnih elementov na začetno koordinato smo tudi hitro ugotovili, kako program meri višino. Ne uspe pa nam umeriti koordinatnega sistema, ker je genialni programer funkcijo Visina napisal tako, da ob neveljavnih pozitivnih koordinatah vrne vrednost 0. Zato bomo problem predali tebi.

Napiši podprogram Poisci(ciljnaVisina), ki bo poiskal in izpisal koordinate (x, y) polja, ki je visoko toliko kot podana vrednost (ciljnaVisina). Edino zagotovilo, ki ga imaš, je, da zagotovo obstajata nenegativni koordinati x in y, pri katerih bo funkcija Visina(x, y) vrnila vrednost ciljnaVisina. Če ti je lažje, lahko koordinate zapišeš v datoteko, namesto da bi jih izpisal na zaslon.

Upoštevaj, da je v mreži lahko veliko polj višine 0, torej se ne moreš zanašati na to, da rezultat 0 pomeni, da si funkcijo Visina poklical z neveljavnimi koordinatami. Upoštevaj tudi, da je delovanje skenerja relativno počasno in da zato ne moreš poklicati funkcije Visina kar za vse možne celoštevilske koordinate (torej za vse take koordinate, ki jih je mogoče predstaviti z vrednostjo tipa Integer oz. Int.