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 vanema rühma ülesanded


1. Teise astme kontaktid    (30 punkti, 5 sekundit)

Nakkushaiguse leviku uurimiseks jagati katsealused kolme gruppi. A-grupis on isikud, kes on antud haigusesse nakatunud. B-grupi liikmete hulgas korraldati küsitlus ja tehti kindlaks, milliste A-grupi liikmetega nad on kokku puutunud. C-grupi liikmete hulgas korraldati samuti küsitlus ja tehti kindlaks, milliste A- ja B-grupi liikmetega nad on kokku puutunud. Eesmärgiks on välja selgitada sellised C-grupi liikmed, kes ei ole otseselt kokku puutunud ühegi A-grupi liikmega, aga on kokku puutunud B-grupi liikmega, kes omakorda on kokku puutunud A-grupi liikmega.

Sisend: Tekstifaili INPUT.TXT esimesel real on kolm täisarvu NA, NB ja NC (1£Ni£1000), mis näitavad vastavate gruppide suurusi, teisel real küsitlustes tuvastatud kontaktide koguarv N (1£N£10000) ja järgmisel N real kontaktide info kujul Gi Gj, kus G on grupi tähis (A, B või C) ning i ja j on vastavate isikute järjekorranumbrid oma grupis (iga grupi liikmed on nummerdatud alates 1st).

Väljund: Tekstifaili OUTPUT.TXT väljastada iga otsitava isiku kohta rida kujul Ck Bj Ai, kus Ck on otsitav C-grupi liige ja Bj ning Ai näitavad ühte teise astme kontakti (ühel C-grupi liikmel võib olla rohkem kui üks teise astme kontakt). Ridade järjekord väljundfailis pole oluline.

Näide:

INPUT.TXT

2 2 3

5

C3 B2

C1 A2

B1 A1

C1 B1

C2 B1

OUTPUT.TXT

C2 B1 A1


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

Kirjutada programm, mis leiab antud punktihulgast kõik sellised nelikud, mis moodustavad 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 täisarvu Xi ja Yi: punkti i koordinaadid (|Xi|<100, |Yi|<100). Kõik punktid on erinevad.

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

1 1

3 1

0 2

2 2

1 3

3 3

OUTPUT.TXT

1 2 5 6

1 3 4 5


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). Kirjutada programm kümnendsüsteemis esitatud arvude teisendamiseks rooma süsteemi.

Sisend: Tekstifaili INPUT.TXT ainsal real on 10-süsteemis esitatud täisarv N (1£N£3999).

Väljund: Tekstifaili OUTPUT.TXT esimesele reale väljastada sisendis olev arv rooma süsteemis. Väljund peab rahuldama järgmisi tingimusi:

  • sümboleid I, X, C ja M ei kirjutata üle kolme, sümboleid V, L ja D üle ühe järjest;
  • lahutada tohib ainult sümboleid I, X ja C;
  • lahutada tohib ainult juhul, kui see on vajalik, et vältida reegli 1) rikkumist;
  • lahutamiste arv peab olema minimaalne võimalik;
  • lahutamine peab olema alati kõige parempoolsemas võimalikus positsioonis.

Näide:

INPUT.TXT

2924

OUTPUT.TXT

MMCMXXIV


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