13. nädala õpijuhis

From Wikiversity

< 13. nädala teemad

Eesmärk[edit]

Nädala eesmärgiks on:

  1. Kaitsta oma kodutööd, st vastata õppejõu küsimustele oma programmi kohta.
  2. Et oodata igav poleks, tasub samal ajal ülesandeid lahendada. Järgmised ülesanded pärinevad koolilaste informaatika olüpiaadidelt.

Ülesanded[edit]

Ülesanne 1 Tabel[edit]

Antud on täisarvudest koosnev ristkülikukujuline tabel. Kirjutada programm, mis leiab sellest kõik kohad, kus kolm reas, veerus või peadiagonaaliga paralleelsel diagonaalil kõrvuti olevat elementi moodustavad summa kujul A+B=C. Summade otsimisel vaadelda ainult kolmikuid ridades vasakult paremale, veergudes ülalt alla ja diagonaalides vasakult-ülalt paremale-alla ning summa peab olema kolmiku viimane element.

Sisend. Tekstifaili TABEL.SIS esimesel real on tabeli ridade arv N (1 <= N <= 100) ja veergude arv M (1 <= M <= 100). Faili järgmisel N real on igaühel M täisarvu, mille absoluutväärtus ei ületa 1000 -- tabeli elemendid ridade kaupa.

Väljund. Tekstifaili TABEL.VAL väljastada üks rida iga leitud kolmiku kohta: kõigepealt selle esimese elemendi reanumber, seejärel veerunumber ja seejärel täht R (kui kolmik on reas), V (kui kolmik on veerus) või D (kui kolmik on diagonaalis). Rea- ja veerunumbri, samuti veerunumbri ja suunatähe vahele jätta tühik. Tabeli read on nummerdatud ülalt alla, veerud vasakult paremale ning mõlemad numeratsioonid algavad 1st. Kui tabelis pole ühtki nõutud kujuga summat, väljastada faili esimesele reale POLE.

Näide.

	TABEL.SIS	TABEL.VAL
	3 4		1 1 R
	4 5 9 7		1 1 V
	3 2 7 7		1 1 D
	7 7 6 7		1 2 V

Testid on failis t1.rar

Ülesanne 2 Doominokivid[edit]

N-doomino kivi koosneb kahest ruudukujulisest poolest, millel on kummalgi 0...N silma.

Doominokomplektis on kõik võimalikud erinevad kivid, kusjuures kivi, mille ühel poolel on a ja teisel poolel b silma, on kompektis ühes eksemplaris (s.t kive a : b ja b : a ei loeta erinevateks).

Näide: 3-doomino komplektis on kokku 10 kivi: 0:0, 0:1, 0:2, 0:3, 1:1, 1:2, 1:3, 2:2, 2:3, 3:3.

On antud mingi hulk N-doomino kive. Kirjutada programm, mis leiab kivid, mis tuleks antud kividele lisada, et saada täiskomplekt.

Sisend. Tekstifaili dom.sis esimesel real on täisarv N (0 <= N <= 9) ja antud kivide arv K (0 <= K <= (N +1)(N +2)/2). Järgmisel K real on antud kivide kirjeldused kujul Ai Bi (0 <= Ai,Bi <= N). Kivid on antud suvalises järjekorras, aga on teada, et ükski kivi ei esine sisendis korduvalt. Väljund. Tekstifaili dom.val esimesele reale väljastada puuduvate kivide arv P ja järgmisele P reale nende kivide kirjeldused kujul Ai Bi. Kivide järjekord failis, samuti Ai ja Bi järjekord real pole olulised.

Näide.

dom.sis
3 4
0 0
1 1
2 2
3 3
dom.val
6
0 1
0 2
0 3
1 2
1 3
2 3

Testid on failis domino.rar

< 13. nädala teemad