KSP.sk

Korešpondenčný seminár z programovania

Priklady 3.kola 18.rocnika KSP-Z

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.

KSPaci
  1. Zdravotne stredisko
  2. Zlodejov unik
  3. Zbavme sa drobnych!
  4. Zabavny park
  5. Zeofina a zle deti

1. Zdravotne stredisko

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.

Uloha

Vasou ulohou je spravit simulaciu zdravotneho strediska. Na zaciatku je cakaren prazdna. Vas program ma postupne spracovavat tieto prikazy:

  • pacient meno h - Do cakarne prisiel dalsi pacient, ktory sa vola meno a od bolesti reve hlasitostou h.
  • doktor - Doktor vykukol do cakarne. Najhlasnejsi pacient ma ist do ordinacie. (Ak je najhlasnejsich viac, tak moze ist lubovolny z nich.) Vypiste jeho meno. Ak v cakarni nie je nikto, tak vypiste vhodnu spravu.
  • exitus - Ked doktor od unavy umrie, moze vas program konecne skoncit.

Priklad

> 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

Poznamka

Pacientov moze byt strasne hrozne vela, snazte sa, aby vas program vedel spracovavat jednotlive prikazy rychlo.


2. Zlodejov unik

"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.

Uloha

Na vstupe je N - pocet miest v krajine a M - pocet ciest. Hlavne mesto ma cislo 1. Dalej je danych M trojic (mesto_1, mesto_2, dlzka cesty), charakterizujucich jednotlive cesty. Cesta spaja 2 rozne mesta. Cesty su obojsmerne a nepretinajuce sa. Vasou ulohou je najst mesto, ktore je od hlavneho mesta najviac vzdialene, ak sa donho ide najkratsou moznou cestou.

Priklad

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.


3. Zbavme sa drobnych!

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.

Uloha

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.

Priklad

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:


N=3, S=25
10 20 30

Vystup:
Suma sa neda zaplatit.


4. Zabavny park

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.

Uloha

Napiste program, ktory pre zadane N vypise vsetky mozne preusporiadania cisel 1, 2, ..., N v lexikografickom poradi, t.j. "abecedne" zoradene.

Priklad

Vstup:
N = 3

Vystup:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1


5. Zeofina a zle deti

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

  • dopredu k - pohni sa k krokov dopredu (k je realne),
  • dolava u - otoc sa o u stupnov dolava,
  • doprava u - otoc sa o u stupnov doprava,
  • zdvihni - zdvihni chvostik a
  • poloz - poloz chvostik na papier

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 alfa a je a-krat kratsi ako to, z coho vyrasta. Pravy konar zviera s kmenom (resp. s konarom, z ktoreho vyrasta) uhol beta a je b-krat kratsi ako to, z coho vyrasta.

Uloha

Napiste program, ktory nacita N - pocet rokov, ktore krik rastie, alfa, beta, a, b - parametre krika a vypise postupnost povelov pre Zeofinu, ktorymi takyto krik nakresli.

Stromcek
(c) Februar 2001 webmaster

Účet

Prihlasovanie už nefunguje. Používaj nový KSP web.
 
loading

Redirecting