LATVIJAS REPUBLIKAS 13. INFORMĀTIKAS OLIMPIĀDES IETEICAMIE 
I POSMA UZDEVUMI

1. SKAITLIS

Uzrakstiet programmu, kas ievadītiem naturāliem skaitļiem n un m atrod tādu mazāko iespējamo naturālo skaitli k, kuram vienlaicīgi izpildās sekojošas īpašības:

Ievaddati
Teksta faila SKAITLIS.DAT pirmajā rindā dotas divu naturālu skaitļu n (0 < n £ 32000) un m (0 < m £ 500) vērtības, kas atdalītas ar tukšumsimbolu.

Izvaddati
Teksta faila SKAITLIS.REZ vienīgajā rindā jāizvada skaitļa k vērtība.

Piemērs
Ievaddati (fails SKAITLIS.DAT)
38 17

Izvaddati (fails SKAITLIS.REZ)
51



2. APLIS

Aplī izvietoti N mazāki aplīši. Katrā aplītī ierakstīts pa naturālam skaitlim. Katrs skaitlis nākošajā gājienā tiek aizvietots ar skaitli pēc sekojoša algoritma :

Katram skaitļu trijniekam (šajā un blakus aplīšos ierakstītie skaitļi) tiek atrasts lielākais, mazākais un "trešais, pāri palikušais".

Aplītī tiek ierakstīta vērtība lielākais - mazākais + pāri_palikušais.

Tā, piemēram, ja aplūkojamajā aplītī ierakstīts 7, bet tā blakus aplīšos 3 un 8, tad lielākais ir 8, mazākais ir 3 un pāri paliek 7. Nākošajā gājienā šajā aplītī tiks ierakstīts 12 (jo 8-3+7=12).

Viens gājiens ir attēlots zīmējumā (ievērojiet, ka vērtības visos aplīšos tiek nomainītas vienlaicīgi):

Ievadītām naturālu skaitļu N un M, kā arī aplī izvietoto skaitļu vērtībām noteikt, kādi skaitļi būs ierakstīti aplīšos pēc M gājieniem.

Ievaddati
Teksta faila APLIS.DAT pirmajā rindā dotas divu naturālu skaitļu N (N £1000) un M (M £10) vērtības, kas atdalītas ar tukšumsimbolu. Katrā no nākošajām N rindām dots pa vienam mazajā aplītī ierakstītajam skaitlim. Skaitļi doti pēc kārtas pulksteņrādītāja virzienā. Nevienā mazajā aplītī dotā vērtība nepārsniedz 100.

Izvaddati
Teksta failam APLIS.REZ jāsatur tieši n rindas - katrā rindā pa vienam skaitlim. Tiem jābūt aplīšos ierakstītajiem skaitļiem pēc M gājieniem. Skaitļi jāizvada tieši tādā secībā, kā tie ierakstīti aplīšos (pēc kārtas pulksteņrādītāja virzienā, sākot ar to pašu aplīti, ar kuru sākts ievaddatos).

Piemērs
Ievaddati (fails APLIS.DAT)     Izvaddati (fails APLIS.REZ)
7 2                  16
1                    9
2                    7
3                    8
4                    9
5                    13
6                    12
7



3. PAROLE

Datorsistēmās, lai novērstu nevēlamu personu piekļūšanu datiem, tiek izmantotas paroles - noteiktas simbolu virknes. Tomēr, cilvēkiem pat zinot īsto paroli, to ievadot gadās kļūdīties. Raksturīgākie kļūdu veidi ir sekojoši: 1) simbols ir izlaists;
2) iesprausts lieks simbols;
3) divi blakus esoši simboli samainīti vietām;
4) simbola vietā ievadīts cits simbols. Tā, piemēram, ja īstā parole būtu "SlePENs", tad viena pirmā veida kļūda būtu virknei "SlePNs", otrā veida "SlePiENs", trešā veida "SelPENs",ceturtā veida "SlEPENs".

Firmas "Aizdomas" speciālisti ir novērojuši, ka kādas vienas iepriekšaprakstītā veida kļūdas esamība paroles ievadīšanas laikā nerada būtiskus draudus sistēmas drošībai un arī šādas simbolu virknes var tikt atzītas par derīgām.

Uzrakstiet programmu, kas ievadītai īstajai parolei un kādai simbolu virknei nosaka, vai šī simbolu virkne var tikt atzīta par derīgu.

Ievaddati
Lielie un mazie burti ievaddatos tiek uzskatīti par atšķirīgiem.
Teksta faila PAROLE.DAT pirmajā rindā dota īstā parole - simbolu virkne, kas sastāv no latīņu alfabēta burtiem. Simbolu virknes garums nepārsniedz 250 simbolus.
Faila otrajā rindā dota pārbaudāmā simbolu virkne, kas sastāv no latīņu alfabēta burtiem. Simbolu virknes garums nepārsniedz 250 simbolus.

Izvaddati
Teksta faila PAROLE.REZ pirmajā rindā jāizvada vārds NEDER, ja ievadītā simbolu virkne nav derīga (kļūdu skaits ir lielāks par 1), vai arī vārds DER, ja simbolu virkne ir derīga (tā precīzi sakrīt ar paroli vai arī tajā ir tieši viena iepriekšaprakstītā veida kļūda). Ja virkne ir derīga, tad faila otrajā rindā jāizvada vai nu 0 (ja parole precīzi sakrīt), vai arī informācija par kļūdas veidu kā naturāls skaitlis no 1 līdz 4 (saskaņā ar iepriekšaprakstītajiem kļūdu veidiem).

Piemēri
Ievaddati (fails PAROLE.DAT)         Izvaddati ( fails PAROLE.REZ)
SlePENs                DER
SelPENs                3

Ievaddati (fails PAROLE.DAT)         Izvaddati ( fails PAROLE.REZ)
SlePENs                NEDER
SelPeNs

Ievaddati (fails PAROLE.DAT)         Izvaddati ( fails PAROLE.REZ)
SlePENs                NEDER
SPelENs



4. CIPARI
 
Pareizā divu skaitļu saskaitīšanas piemērā A+B=C vienlaicīgi visus ciparus x (ja tādi tur bija) nomainīja pret ciparu y un visus ciparus y (ja tādi tur bija) nomainīja pret ciparu x. Zināms, ka ne x, ne y nav nulle un šie cipari ir dažādi. Tādējādi skaitļa A vietā izteiksmē tagad ir skaitlis A* , skaitļa B vietā - skaitlis B*, skaitļa C - C*. Uzrakstiet programmu, kas dotiem skaitļiem A*,B* un C* atrod un izvada skaitļu A,B un C vērtības.

Ievaddati
Teksta faila CIPARI.DAT pirmajā rindā dota skaitļa A* vērtība, otrajā rindā dota skaitļa B*, bet trešajā - skaitļa C* vērtība. Neviena skaitļa pieraksts nesākas ar nulli un nevienā skaitlī ciparu skaits nepārsniedz 20.

Izvaddati
Teksta faila CIPARI.REZ pirmajā rindā jāizvada ciparu x un y vērtības, kas atdalītas ar tukšumsimbolu. Faila otrajā rindā jāizvada skaitļa A, trešajā - skaitļa B, ceturtajā - skaitļa C vērtība.

Ja iespējami vairāki atrisinājumi, izvadiet vienu no tiem.

Piemēri
Ievaddati (fails CIPARI.DAT)                     Izvaddati ( fails CIPARI.REZ)
923456781                   1 9
2009                        123456789
923458710                   2001
                            123458790

Ievaddati (fails CIPARI.DAT)                     Izvaddati ( fails CIPARI.REZ)
4242                        4 2
2424                        2424
6666                        4242
                            6666

Ievaddati (fails CIPARI.DAT)                     Izvaddati ( fails CIPARI.REZ)
53                          8 9
17                          53
70                          17
                            70



5. LIFTS

Daudzstāvu namam ir n stāvi. Tajā ir lifts, kura vadība notiek tikai ar divu pogu ( un ) palīdzību. Nospiežot pogu  , lifts pārvietojas tieši a stāvus augstāk, bet nospiežot pogu  - tieši b stāvus zemāk. Saņemot komandu, kas liek pārvietoties augstāk par n-to, vai zemāk par pirmo stāvu, lifts nepārvietojas un paliek tajā pašā stāvā. Lifts atrodas k-tajā stāvā. Cikreiz, mazākais, jānospiež iepriekšminētās pogas, lai lifts tiktu pārvietots uz m-to stāvu ?

Ievadītām naturālu skaitļu n,a,b,k,m vērtībām izvadīt mazāko nepieciešamo pogu nospiedienu skaitu.

Ievaddati
Teksta faila LIFTS.DAT pirmajā rindā dotas piecu naturālu skaitļu n,a,b,k,m vērtības (n £ 10000; a<n; b<n; k £ n; m £ n). Starp katrām divām blakus vērtībām ir viens tukšumsimbols.

Izvaddati
Teksta faila LIFTS.REZ pirmajā rindā jāizvada viens vesels skaitlis - mazākais nepieciešamais pogu nospiedienu skaits, kāds jāizdara, lai liftu pārvietotu uz m-to stāvu.

Ja pārvietot liftu uz m-to stāvu nav iespējams, teksta faila pirmajā rindā jāizvada teksts NEVAR.

Piemēri
Ievaddati (Fails LIFTS.DAT)          Izvaddati (Fails LIFTS.REZ)
100 4 2 1 22          NEVAR

Ievaddati (Fails LIFTS.DAT)          Izvaddati (Fails LIFTS.REZ)
11 2 3 10 6           3

                                    Piezīme: Iespējamā pogu nospiedienu secība ir: 


Mājup  Uz uzdevumu un testu arhīvu