Korespondenční Seminář z Programování

Podobné dokumenty
Korespondenční Seminář z Programování

Cykly a pole

kombinatorika září, 2015 Kombinatorika Opakovací kurz 2015 Radka Hájková

H {{u, v} : u,v U u v }

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

Příklady z Kombinatoriky a grafů I - LS 2015/2016

67. ročník Matematické olympiády 2017/2018

pro bakalářské studijní programy fyzika, informatika a matematika 2018, varianta A

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Zadání soutěžních úloh

Korespondenční Seminář z Programování

Kombinatorika. Michael Krbek. 1. Základní pojmy. Kombinatorika pracuje se spočitatelnými (tedy obvykle

Základní pojmy teorie grafů [Graph theory]

Naproti tomu gramatika je vlastně soupis pravidel, jak

Úlohy krajského kola kategorie C

10 Podgrafy, isomorfismus grafů

Tento text je stručným shrnutím těch tvrzení Ramseyovy teorie, která zazněla

CVIČNÝ TEST 48. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 12. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Přijímací zkouška na MFF UK v Praze

I. kolo kategorie Z6

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

Úvod do teorie grafů

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Diskrétní matematika 2012/2013.

Zadání semestrálního projektu Algoritmy I. zimní semestr 2018/2019

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

MATEMATIKA A 3 Metodický list č. 1

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

3. podzimní série. ... {z }

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Zadání soutěžních úloh

Zdrojem většiny příkladů je sbírka úloh 1. cvičení ( ) 2. cvičení ( )

Úlohy klauzurní části školního kola kategorie B

Střední příčky trojúhelníku

Zadání soutěžních úloh

Cvičné texty ke státní maturitě z matematiky

Školní kolo soutěže Baltík 2009, kategorie C

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

Úlohy klauzurní části školního kola kategorie A

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Rozvoj prostorové představivosti

Digitální učební materiál

Požadavky k opravným zkouškám z matematiky školní rok

POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

Přijímací zkouška - matematika

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

8. Geometrie vrací úder (sepsal Pavel Klavík)

12. Lineární programování

Definice 1 eulerovský Definice 2 poloeulerovský

pracovní list studenta

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

6 Ordinální informace o kritériích

Vektory II. Předpoklady: Umíme už vektory sčítat, teď zkusíme opačnou operací rozklad vektoru na složky.

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013

Logika je logika Úlohy na dvoudenní turnaj v Brně 2012

Návrh Designu: Radek Mařík

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

CVIČNÝ TEST 29. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Slovo ALGEBRA pochází z arabského al-jabr, což znamená nahrazení. Toto slovo se objevilo v názvu knihy

Úlohy domácí části I. kola kategorie C

Iterační metody řešení soustav lineárních rovnic. 27. prosince 2011

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

Výroková a predikátová logika - II

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

Matematický KLOKAN : ( ) = (A) 1 (B) 9 (C) 214 (D) 223 (E) 2 007

Studijní program Informatika, bakalářské studium. 2015, varianta A

Matematický KLOKAN 2005 kategorie Junior

1 Linearní prostory nad komplexními čísly

Operační výzkum. Síťová analýza. Metoda CPM.

MATEMATIKA ZÁKLADNÍ ÚROVEŇ

66. ročníku MO (kategorie A, B, C)

Cvičení z Lineární algebry 1

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

Polodokreslovka křížovka (časový limit 15 minut)

Dijkstrův algoritmus

6. Vektorový počet Studijní text. 6. Vektorový počet

10. DETERMINANTY " # $!

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

Jednoduché cykly

CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

I. kolo kategorie Z8

Algoritmizace prostorových úloh

Výsledný graf ukazuje následující obrázek.

Lineární algebra - I. část (vektory, matice a jejich využití)

63. ročník Matematické olympiády 2013/2014

Booklet soutěže družstev

66. ročník Matematické olympiády 2016/2017

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Přijímací zkouška na MFF UK v Praze

Fyzikální korespondenční škola 2. dopis: experimentální úloha

Mezinárodní kolo soutěže Baltík 2010, kategorie C a D

Klauzurní část školního kola kategorie A se koná

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

Nové výsledky o zlomkových kuželosečkách v rovině a prostoru

Kategorie: U 1 pro žáky 1. ročníků učebních oborů

Mistrovství České republiky v logických úlohách

Transkript:

Korespondenční Seminář z Programování SOUTĚŽ KASIOPEA 6. ročník Zadání úloh Březen 04 V tomto textu naleznete zadání úloh online soutěže Kasiopea 04, která proběhla o víkendu. 3. března. Veškeré informace o soutěži včetně výsledků, řešení úloh, vzorových zdrojových kódů a dalších informací naleznete na stránce soutěže: http://ksp.mff.cuni.cz/akce/kasiopea/04/ Dokonce si můžete stále zkusit odevzdávat úlohy v systému CodEx. 6-K- Néreidky 0 bodů Každá z padesáti Néreidek dostala od Poseidona darem šperk. Jednalo se o plátky zlata ve tvaru trojúhelníku. Néreidky spolu vedou stálý boj o to, která se Poseidonovi nejvíce líbí. Proto je samozřejmě zajímalo, která z nich dostala největší šperk. Určit trojúhelník s největším obsahem je i vaším úkolem. Na prvním řádku standardního vstupu naleznete počet trojúhelníků N. Na každém z následujících N řádků je pak šestice mezerou oddělených čísel x y x y x 3 y 3. Takto popsaný trojúhelník je zakreslen do roviny a jeho vrcholy mají souřadnice [x, y ], [x, y ], [x 3, y 3 ]. Žádné dva trojúhelníky nemají stejný obsah. Na jedinou řádku standardního výstupu vypište pořadové číslo trojúhelníku s největším obsahem. (Trojúhelníky číslujeme od jedné v pořadí, v jakém se objevují na vstupu.) V prvních třech vstupech je N =, ve zbývajících vstupech je N = 0 (stejně jako skutečných Néreidek). Ve všech vstupech jsou absolutní hodnoty souřadnic rovny nejvýše 00. V prvních pěti vstupech se vyskytují pouze pravoúhlé trojúhelníky s pravým úhlem při vrcholu [x, y ]. Ukázkové vstupy 3 0 0 0 3 0 0 0 0 4 4 0 0 0 0 7 0

3 4 3 3 7 4 7 0 0 0 0 0 0 4 3 0-3 -3 - -3-3 - 6-K- Permutace 0 bodů Andromeda se narodila jakožto dcera krále Kéfea a královny Kasiopey. Princezně se přirozeně dostávalo náležitého vzdělávání. To jí však nebavilo, ráda proto utíkala do lesa, kde si vymýšlela a vzápětí řešila různé drobné úlohy z denního života. Velmi ji například zajímalo, zda si může sedmero panenek uspořádat do řady každý den v roce jinak. Tak se Andromeda dostala ke struktuře, kterou bychom dnes nazvali permutací. Jako permutaci množiny označujeme libovolné uspořádání jejích prvků. Například všechny permutace množiny {,, 3} jsou 3, 3, 3, 3, 3 a 3. Jako podpermutaci dané permutace budeme označovat pro účely této úlohy (není to žádný obecně ustálený pojem) posloupnost prvků, které z původní permutace získáme vyškrtáním některých prvků (aniž bychom měnili jejich pořadí). Tedy pro permutaci 34 jsou 3, 34 i 34 jejími podpermutacemi, kdežto 3 není její podpermutací. Vaším úkolem je vygenerovat všechny permutace zadané délky neobsahující zakázanou podpermutaci. Na prvním řádku naleznete dvě mezerou oddělená čísla N a L. Pokud je L větší než nula, následuje druhý řádek, kde jsou mezerou oddělené prvky této zakázané podpermutace. Vypište všechny permutace množiny {,,..., N}, které neobsahují jako podpermutaci zadanou zakázanou podpermutaci. Můžete je vypsat v libovolném pořadí. Na každý řádek umístěte jednu permutaci, prvky permutace oddělte mezerou. V prvních třech vstupech je N a L = 0, tedy úkolem je pouze vypisovat všechny permutace. V dalších šesti vstupech je N 6 a L < N. V závěrečném desátém vstupu je N = 9 a L = 0.

Ukázkové vstupy 3 0 3 3 3 3 3 3 4 3 3 4 4 3 4 3 4 3 4 3 3 4 3 4 4 3 4 3 3 4 3 4 3 4 3 4 3 4 3 4 4 3 4 3 4 3 4 3 4 3 4 3 6-K-3 Bezpečné království 0 bodů Královna Kasiopea se vychloubala, že princezna Andromeda je krásnější než samotné Néreidky. Tak probudila hněv Poseidonův. Král Kéfeus se začal obávat propuknutí lidových vzpour a rozhodl se lépe zabezpečit celé království. V království se nalézá N měst, každé má svou městskou stráž. Aby měl Kéfeus nad městy lepší kontrolu, rozhodl se v každém městě jmenovat do čela městské 3

stráže zvláštního královského strážce. Královským strážcem bude v každém městě jmenován příslušník některého z K nejlepších rodů v království. Některá města spolu navzájem sousedí. Označme si počet dvojic sousedních měst jako M. Protože je král obezřetný, přeje si, aby se královští strážci navzájem kontrolovali. Pro každé město je potřeba vhodně vybrat, ze kterého rodu bude jeho královský strážce. Konkrétně si král přeje, aby pro co nejvíce dvojic měst platilo, že tato dvě města budou mít své strážce z různých rodů. Protože je obtížné nalézt nejlepší možné řešení, bude vaším úkolem zvolit strážce tak, aby alespoň K K M dvojic sousedních měst mělo strážce z různých rodů. Na prvním řádku standardního vstupu se nachází tři mezerou oddělená čísla: počet měst N, počet dvojic sousedních měst M a počet rodů K. Města jsou označena čísly od do N. Na každém z následujících M řádků se nachází dvě čísla x a y, která znamenají, že města x a y jsou sousední. Na standardní výstup vypište N řádek. Na i-tý řádek vypište číslo z rozsahu až K označující rod, ze kterého bude strážce ve městě i. Ve vstupech za polovinu bodů bude N 00 a tudíž M 00. Ve zbývajících vstupech bude N 000 a tudíž M 0000. Ukázkové vstupy 4 4 3 3 4 4 Správný výstup: Jiný správný výstup: 4

Špatný výstup: Všimněte si, že ve špatné odpovědi má pouze jedna dvojice sousedních měst strážce z různých rodů. Ve správném řešení ale musí mít tuto vlastnost alespoň dvě dvojice. 6-K-4 Městský ruch 0 bodů Andromeda je řetězy přivázána ke skále, mořská stvůra, které má být obětována, je na cestě. Takovéto dění si přirozeně žádný společensky aktivní, uvědomělý poddaný nemůže nechat ujít. Při takovéto akci je potřeba se náležitě blýsknout, před tím je potřeba toho spoustu oběhnout nakoupit nové šaty, nechat si vyčistit ty staré, zajít k holiči, nakoupit jídlo a pití, kterým bude vše oslaveno... Právě takovým obíhacím procesem se budeme zabývat v této úloze. Představme si hlavní město království jako čtvercovou síť. Na každém políčku sítě bydlí jeden poddaný, který musí vyřídit 0 různých záležitostí. Označme si tyto záležitosti čísly od 0 do 9. Poddaný vždy začíná ve svém domě, pohybuje se po políčcích pouze vodorovně a svisle. Kdykoliv vyřídí některou ze záležitostí, musí se opětovně vrátit domů, než půjde vyřizovat další záležitost. Poddaný chce vyřídit všech deset záležitostí, záležitost nechce kvůli diskrétnosti vyřizovat na svém vlastním políčku. Jako krok označíme přechod z jednoho políčka na sousední. Určete celkový počet kroků, kteří poddaní udělají při vyřizování svých záležitostí. Předpokládejte, že chodí nejkratšími cestami. (Na závěr musí poddaný opět skončit doma.) Na prvním řádku naleznete dvojici mezerou oddělených čísel R a S, počet řádků a sloupců čtvercové sítě. Na každém z R řádků se nachází S číslic (nejsou odděleny mezerou!) udávajících druh služby na příslušných políčcích. Máte zaručeno, že na mapě se každá služba vyskytuje alespoň dvakrát. Na jediný řádek vypište jediné číslo celkový počet přechodů mezi políčky. V prvních třech vstupech bude platit R, S 30. V dalších dvou vstupech pak R, S 00. Ve zbylých vstupech platí R, S 000.

Ukázkový vstup 6 000 8768 779966 8768 3443 474 6-K- Mýtický strom 0 bodů Perseus zabil nestvůru a zachránil Andromedu. Když se jim narodil syn Perses, bilancoval Perseus svůj život: Syna jsem zplodil, dům jsem postavil... K naplnění smyslu života zbývá zasadit strom. A zasadil strom. Nebyl by to ovšem Perseus, syn Diův, kdyby vyrostl prachobyčejný strom. Přesný popis tohoto mýtického stromu s dovolením ponecháme fantazii laskavého čtenáře. My si jej raději popíšeme o něco abstraktněji v řeči diskrétní matematiky. Pokud byste některému z pojmů jako graf, strom či hrana nerozuměli, můžete nahlédnout do naší kuchařky. Jedná se o zakořeněný strom na N vrcholech. Vrcholy jsou označeny čísly 0,..., N. Kořenem je vrchol 0. Každý vrchol má v sobě nějakou číselnou hodnotu. Zvláštnost stromu se projeví, když se člověk pokusí hodnotu ve vrcholu změnit. Navýšíte-li tuto hodnotu o x, vězte, že se začne dít toto: Hodnota vrcholu se skutečně navýší o x, hodnota všech potomků tohoto vrcholu se naopak o x sníží, hodnota potomků těchto potomků se naopak o x zvýší, hodnota potomků potomků potomků se naopak o x sníží a tak dále... Manipulace se skutečným stromem je náročná, napište proto jeho simulátor. Na prvním řádku standardního vstupu najdete počet vrcholů stromu N a počet příkazů M. Na druhém řádku kladná čísla v 0 až v N udávající počáteční hodnoty na vrcholech stromu. Na každém z dalších N řádků se nachází dvojice čísel u a w značící, že vrcholy u a w jsou spojeny hranou. Finálních M řádků popisuje operace, tyto řádky jsou dvou možných tvarů: ) P u x značí operaci magického navýšení hodnoty vrcholu u o x ) V u značí operaci vypsání hodnoty vrcholu u Za každou operaci druhého typu (vypsání hodnoty vrcholu) vypište jeden řádek na standardní výstup s hodnotou u příslušného vrcholu okamžiku, kdy byla operace volána. http://ksp.mff.cuni.cz/viz/kucharky/grafy 6

Pro prvních vstupů bude N, M 000 a x, v i 000. Ve zbývajících vstupech platí N, M 0 a x, v i 0 4. Ukázkové vstupy 4 0 0 0 3 P 0 3 V P 4 V V 3-0 7 6 9 3 3 4 4 0 4 3 0 P 3 P 4 P 0 4 V 0 6-7 0 7

6-K-6 Zajímavá posloupnost 0 bodů Po smrti byli Andromeda, Perseus, Kasiopea i Kéfeus přeneseni na nebe jakožto souhvězdí a na vás po nich zbyla jedna úloha: O posloupnosti řekneme, že je zajímavá, pokud každá její souvislá podposloupnost obsahuje unikátní prvek (takový, že se v této podposloupnosti vyskytuje pouze jednou). Pro danou posloupnost rozhodněte zda je, či není zajímavá. Na prvním řádku vstupu je číslo T udávající počet testovaných posloupností. Následují jednotlivé posloupnosti, každá má na prvním řádku číslo N udávající délku a na druhém řádku mezerou oddělené jednotlivé členy posloupnosti. Na výstup vypište T řádků, kde každý bude obsahovat jeden z řetězců zajimava, nebo nezajimava. Pro všechny testovací vstupy bude platit N 00 000. Číslo T je předem neurčené, ale je zaručeno, že v testech s velkými N bude T v řádu jednotek. Vzorový vstup 4 3 4 3 zajimava nezajimava zajimava nezajimava 8