Mili nasi riesitelia,
vitame Vas pri rieseni noveho rocnika KSP. Dufame, ze aj tento rok sa
Vam nase ulohy budu pacit a ze sa do sutaze zapojite v hojnom pocte.
Riesenia prveho kola nam posielajte do
Uloha: Vo Francuzsku je N miest cislovanych od 1 po N. Pariz ma cislo 1, d'Artagnanove rodisko ma cislo N. Medzi mestami vedie M ciest. Vsetky cesty su obojsmerne. O kazdej ceste vieme cislo jej zaciatocneho a koncoveho mesta, jej dlzku ako aj to, aki vojaci strazia jej zaciatok. (M - musketieri, G - gardisti. Koniec pochopitelne strazia ti druhi.) Napiste program, ktory nacita pocet miest N, pocet ciest M a informacie o jednotlivych cestach a vypise dlzku najkratsej trasy z d'Artagnanovho rodiska do Pariza za danych podmienok.
Priklad:
Vstup:
N=5, M=7
cesty:
1 2 3 M 1 4 4 G 1 3 2 G 2 5 3 G 2 4 10 M 5 4 1 G 4 3 1 M
Najkratsia cesta ma dlzku 5.(Je to cesta 5 --> 4 --> 1.)
Uloha: Napiste program, ktory nacita cisla A, B, C a N. Dalej nacita N typov cestovnych listkov, pricom kazdy typ ma tvar: "X dospelych + Y deti + Z psov za cenu P korun.'' Vas program ma vypisat, aku najmensiu cenu musi zaplatit za listky A dospelych, B deti a C psov. (Cestujuci si mozu kupit listky aj pre viac ludi alebo psov, ak to bude stat menej.)
Priklad:
Vstup:
A=2 B=3 C=2 N=6 1 0 0 10 0 1 0 5 0 0 1 10 1 0 1 19 0 1 1 14 1 1 1 23Vystup:
51(Su to listky za 23+23+5 korun.)
Uloha: Napiste program, ktory nacita pocet cvicencov N a pre kazdeho cvicenca suradnice kruzku, na ktorom stoji. Kruzky su umiestnene na vsetkych miestach s celocislenymi suradnicami. Vas program by mal vypisat pocet presunov, ktore su potrebne k tomu, aby vsetci cvicenci stali na kruzkoch s rovnakou y-ovou suradnicou a neboli medzi nimi neobsadene kruzky (t.j. x-ove suradnice cvicencov budu x, x+1, ... , x+N-1). Tento pocet ma byt najmensi mozny. Cvicenci sa mozu presuvat len z kruzku na kruzok a to tak, ze prave jedna zo suradnic noveho kruzku sa od prislusnej predoslej suradnice lisi presne o 1 (teda mozu ist na kruzok vlavo, vpravo, dopredu alebo dozadu). V ziadnom momente presuvania by na jednom kruzku nemal stat viac ako jeden clovek.
Priklad:
Vstup:
N = 5
Suradnice cvicencov:
(1,2), (2,2), (1,3), (3,-2), (3,3)Vystup:
(Cvicenec so suradnicami (1,3) sa presunie na (0,3) a odtial na (0,2), cvicenec z pozicie (3,-2) sa presuva cez suradnice (3,-1), (3,0), (3,1) na (3,2) a cvicenec z pozicie (3,3) sa presunie cez (4,3) na (4,2).)
Uloha: Zistite, ci sa to da dosiahnut, ak mate dany zoznam kurzov, za ktore vekslaci menia peniaze. Ak sa to da, tak uvedte aj postupnost vymen s prislusnymi kurzami. Predpokladajte, ze mozete presne zamenit lubovolne mnozstvo danej meny. Uvedomte si vsak, ze ak vekslak meni koruny na dolare, nemusi to robit naopak v rovnakom kurze.
Priklad:
Vstup:
SKK 44.23 na USD 1 USD 1.3 na GBP 1.08 GBP 1.18 na SKK 65.993 USD 0.02 na SKK 1 SKK 50 na USD 1Vystup:
ano: SKK 44.23 na SKK 50(SKK 44.23 zamenime za USD v kurze 44.23:1, potom USD na SKK v kurze 0.02:1)
Uloha: a) Napiste program, ktory bude hrat tuto hru proti Marienke, ked na nu Janko nema cas. Program najprv nacita n a m a spyta sa uzivatela, aku farbu figurok chce mat. Potom vas program striedavo taha a pyta si tah od uzivatela. Sustredte sa na to, aby vas program hral hru co najlepsie.
b) Marienka si pamata mnoho rozohranych hier, ktore by chcela dohrat. Napiste preto program, ktory nacita n, m, farbu uzivatelovych figurok a farbu figurok hraca, ktory je prave na tahu. Potom nacita situaciu hry (t.j. pre kazdy stlpec sachovnice poziciu bieleho a cierneho pesiaka) a dohra tuto hru proti uzivatelovi. Opat sa sustredte na to, aby vas program hral hru co najlepsie.
Priklad:
Nech napr. m=5 a n=4.
![]() |
![]() |
obr. 1 | obr.2 |