Eesti koolinoorte matemaatikaolümpiaadidid Eesti koolinoorte informaatikaolümpiaadid Eesti koolinoorte füüsikaolümpiaadid Eesti koolinoorte keemiaolümpiaadid Astronoomiahuvilistele Eesti koolinoorte bioloogiaolümpiaadid Eesti koolinoorte geograafiaolümpiaadid Täppisteaduste Kooli informaatikaosakond

07. veebruar 1998. a.

Piirkondliku vooru noorema rühma ülesanded


1. Nakkushaigus  (30 punkti, 5 sekundit)

Nakkushaiguse leviku uurimiseks kontrolliti teatud grupi liikmeid nakatumise suhtes ja märgiti üles kõik teised grupiliikmed, kellega nad suhelnud on. Eesmärgiks oli välja selgitada isikud, kes on küll nakkusega kokku puutunud, kuid nakatunud ei ole.

Sisend: Tekstifaili INPUT.TXT esimesel real on uuritud isikute arv N (1 £ N £ 5000) ja järgmisel N real igaühel ühe isiku andmed – tühikutega eraldatud täisarvud. Esimene arv real on 0, kui isik ei ole nakatunud ja 1, kui isik on nakatunud, teine arv Ki (0 £ Ki £ 500) on isiku kontaktide arv, millele järgnevad Ki täisarvu – nende isikute järjekorranumbrid, kellega antud isik kokku puutus (kõik uuritavad isikud on nummerdatud alates 1st).

Väljund: Tekstifaili OUTPUT.TXT väljastada nende isikute andmed, kes on nakatunutega kokku puutunud, kuid pole ise haigestunud. Iga isiku andmed väljastada eraldi reale, kusjuures esimene arv real peab olema isiku järjekorranumber, teine arv näitama nende nakatunute arvu, kellega antud isik kokku puutus ja edasi nende nakatunute järjekorranumbrid. Ridade järjekord failis ega isikute järjekord real pole olulised.

Näide:

INPUT.TXT

5

0 3 2 5 4

1 2 3 1

1 1 2

0 2 5 1

1 2 1 4

OUTPUT.TXT

1 2 2 5

4 1 5


2. Ristkülikute leidmine (30 punkti, 5 sekundit)

Kirjutada programm, mis leiab antud punktihulgast kõik sellised nelikud, mis moodustavad koordinaattelgedega paralleelsete külgedega ristkülikud.

Sisend: Tekstifaili INPUT.TXT esimesel real on punktide arv N (1 £ N £ 100) ja järgmisel N real igaühel 2 tühikutega eraldatud tkoordinaadid (|Xi| < 100, |Yi| < 100). Kõik punktid on erinevad.äisarvu Xi ja Yi: punkti i

Väljund: Tekstifaili OUTPUT.TXT väljastada igale reale 4 tühikutega eraldatud täisarvu: ristküliku tippudeks olevate punktide järjekorranumbrid sisendfailis. Iga ristkülik esitada ainult ühes eksemplaris. Punktide esitamine teises järjekorras ei ole uus ristkülik. Ristkülikute esitamise järjekord failis ega punktide esitamise järjekord real pole olulised.

Näide:

INPUT.TXT

6

10 10

10 20

10 30

30 10

30 20

30 30

OUTPUT.TXT

1 2 4 5

1 3 4 6

2 3 5 6


3. Rooma numbrid (40 punkti, 5 sekundit)

Vanad roomlased kasutasid arvude kirjutamiseks suuri ladina tähti järgmistes tähendustes: I=1, V=5, X=10, L=50, C=100, D=500, M=1000. Üldjuhul on selles süsteemis kirjutatud arvu väärtuseks kasutatud sümbolite väärtuste summa (näiteks XXV=10+10+5). Erandiks on juht, kui väiksema väärtusega sümbol on suurema väärtusega sümbolist vasakul; sellise paari väärtuseks on sümbolite väärtuste vahe (näiteks IX=10-1=9, CXC=100+(100-10)=190). Lahutada tohib ainult sümboleid I, X ja C ning lahutamine on alati kõige parempoolsemas võimalikus liikmes (st XXIX ja mitte XIXX). Kirjutada programm rooma numbritena esitatud arvude teisendamiseks kümnendsüsteemi.

Sisend: Tekstifaili INPUT.TXT ainsal real on rooma kirjaviisis esitatud täisarv.

Väljund: Tekstifaili OUTPUT.TXT esimesele reale väljastada sisendis olev arv 10-süsteemis.

Näide:

INPUT.TXT

MMCMXXIV

OUTPUT.TXT

2924


Palume saata kõik küsimused aadressil ttkool@ut.ee
Viimati muudetud: 28.01.1999. a.