Mile deturence,
Dufame, ze ste uz na zaciatku skolskeho roka zaregistrovali zmenu pravidiel: Vsetky vysledkove listiny sa budu ratat od 3. kola, podobne to bude s pozyvanim na jesenne sustredenie KSP. A preto ak ste KSP doteraz nikdy neriesili, nevahajte a zapojte sa, ale nezabudnite nam vsak poslat evidencny listok.
Riesenia nam poslite najneskor do 19. marca 2001, nezabudnite k nim prilozit postove znamky v hodnote 15,- Sk.
V Nalomenej Trieske maju zdravotne stredisko. V tomto zimnom obdobi donho prichadza vela pacientov. Dennodenne si niekto vytkne clenok alebo zlomi nohu. V skole vyhlasili chripkove prazdniny. Hrozi chripkova epidemia. Virus BSE (Z medicinskeho hladiska sice nejde celkom o virus, ale vsak co.) vycina ako besny.
V zdravotnom stredisku nepretrzite ordinuje jeden doktor. Ludia sedia v cakarni a revu od bolesti. Obcas pride dalsi pacient. Doktor pacientov postupne vysetruje. Ked jedneho pacienta dovysetruje, nakukne z ordinacie do cakarne a ten pacient, ktory najhlasnejsie reve od bolesti, toho doktor zavola dnu do ordinacie.
Vasou ulohou je spravit simulaciu zdravotneho strediska. Na zaciatku je cakaren prazdna. Vas program ma postupne spracovavat tieto prikazy:
> doktor V cakarni nie je nikto. > pacient Jozo 10 > pacient babicka 2 > pacient Anicka 5 > doktor Do ordinacie ide pacient Jozo. > doktor Do ordinacie ide pacient Anicka. > pacient mrtvola 0 > pacient Zuza 100 > doktor Do ordinacie ide pacient Zuza. > pacient fetak 1 > doktor Do ordinacie ide pacient babicka. > exitus
Pacientov moze byt strasne hrozne vela, snazte sa, aby vas program vedel spracovavat jednotlive prikazy rychlo.
"Z.Z. po vykradnuti banky unikol policii. Za jeho dolapenie je vypisana odmena 100$. Taketo plagaty sa jedneho dna objavili v hlavnom meste. Chudak zlodej Z.Z. si chce co najdlhsie uzivat slobodu a ukradnute peniaze. Preto sa rozhodol, ze sa uchyli do toho mesta, ktore je od hlavneho mesta najviac vzdialene.
Vstup
N=4, M=5
1 2 7 3 4 2 3 2 6 1 3 1 4 2 3
Vystup:
Ukri sa do mesta 2.
Poznamka: Vzdialenost od hlavneho mesta je 6.
Urcite poznate ten pocit. Vasa penazenka praska vo svikoch, ale to este neznamena, ze v nej mate vela penazi. Ba priam naopak. Jedna smutne vyzerajuca pokrcena dvadsatkoruna a hrrrba drobnych. Ale vyhadzovat drobne sa neoplati. Ovela lepsie je platit nimi. Ale to nie je take lahke. Iste uznate, ze ked zaplatite desat korun desiatimi jednokorunovymi mincami, spravite si v penazenke viac miesta, ako ked zaplatite desatkorunou. Najst najlepsi sposob zaplatenia vsak nie je az take jednoduche, hlavne ked tych drobnych mate naozaj vela. To je praca pre pocitac. A este predtym pre programatorov.
Napiste program, ktory nacita N - pocet minci v penazenke, N kladnych celych cisel a1,...,aN - ich hodnoty a sumu S, ktoru treba zaplatit. Pokial sa tato suma mincami z penazenky neda zaplatit, vystupom vasho programu by mala byt veta "Suma sa neda zaplatit." V opacnom pripade ma vas program zistit, akeho najvacsieho poctu minci sa vieme zbavit zaplatenim tejto sumy.
Vstup:
N=5, S=100
10 25 25 50 90
Vystup:
Vieme sa zbavit 3 minci.
Poznamka: su to mince 25, 25 a 50 (25+25+50=100).
Vstup:
10 20 30
Vystup:
Suma sa neda zaplatit.
Tomasko sa konecne dostal do velkeho zabavneho parku. Je tu N obrovskych atrakcii - kolotoce, strelnice, vselijake zabavky. Rozhodol sa, ze ich urcite musi vyskusat vsetky. Pri prvych dvoch ale narazil na problem. Boli to dva obrovske kolotoce a nieco mu hovorilo, ze ist na ne hned po sebe by nebol prijemny zazitok pre jeho zaludok. Tak sa rozhodol, ze si najprv vypracuje plan. Ocisloval atrakcie od 1 po N a zacal si ich na papieri rozne zoradovat. Po chvilke uz ale nevedel, ci nahodou nepise nieco, co uz ma. "To sa predsa musi dat urobit jednoduchsie," povedal si Tomasko a zamyslel sa.
Napiste program, ktory pre zadane N vypise vsetky mozne preusporiadania cisel 1, 2, ..., N v lexikografickom poradi, t.j. "abecedne" zoradene.
Vstup:
N = 3
Vystup:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
Zeofina zase zuri. Deti opat vystrajali v jej zahradke a podupali jej milovane kvietky. Tentokrat sa uz Zeofina rozhodla zakrocit. Vysadi si zivy plot. To vsak nie je take lahke, ak ma plot aj pekne vyzerat. Teraz Zeofina beha po papieri a snazi sa nakreslit nejaky druh kriku, z ktoreho bude zivy plot vysadeny.
Ked chce Zeofina kreslit, namoci si chvostik do atramentu, postavi sa doprostred velkeho cisteho papiera a zacne sa po nom presuvat. Ak ma chvostik spusteny, zanechava za sebou ciaru, ak ho ma zdvihnuty, presuva sa len tak. Aby sa pri kresleni nepomylila, dopredu sa nauci postupnost povelov tvaru
Krik vyzera nasledovne: Prvy rok narastie kmen krika. Druhy rok sa kmen rozvetvi
na dva konare. Kazdy dalsi rok sa vsetky konare, ktore narastli posledny rok,
rozvetvia na dva konare. Lavy konar zviera s kmenom (resp. s konarom, z ktoreho
vyrasta) uhol a je a-krat kratsi ako to, z coho vyrasta.
Pravy konar zviera s kmenom
(resp. s konarom, z ktoreho
vyrasta) uhol
a je b-krat kratsi ako to, z coho vyrasta.
Napiste program, ktory nacita N - pocet rokov, ktore krik rastie,
,
, a, b - parametre krika a vypise postupnost povelov
pre Zeofinu, ktorymi takyto krik nakresli.
Redirecting