Soutěž v programování

Ve Stanici Techniků Vyšehrad pořádáme v rámci Soutěže v programování Okresní kolo pro Prahu 2 a další pražské části, pro které se nenajde místní organizátor. Zadání okresního kola vytváříme sami, s ohledem na

Dále (zpravidla v dubnu) se u nás pořádá pražské krajské kolo soutěže. Zadání úloh krajských kol jsou společné pro celou ČR a dostupné na sp.stv.cz. V krajském kole jsou pro porotce společně se zadáním předepsána hodnotící kritéria, zajištující konzistenci hodnocení napříč kraji.

Tento web vznikl za účelem sdílení našich zadání úloh a metodik, ke kterým jsme zkušeností dospěli.

OK 2024

Úlohy

Pyramida

Vygenerování pyramidy znaků

Inventář plyšáků

Program pro evidenci sbírky plyšových zvířátek. Ukládá data a umožňuje vyhledávání.

Já tě vidím

Grafická úloha - zobrazte oči pozorující kurzor.

Pošta

Vyhledávání nejkratší cesty v bludišti, která navštíví zadaná místa.

KK 2023

Úlohy

Bludiště

Úkolem úlohy je v bludišti nalézt všechna dosažitelná slova. Poté je vypsat správně obrácená (určuje velké písmenko na začátku) a abecedně seřazená.

Kalkulačka

Úkolem je vytvořit jednoduchou kalkulačku se zadáním čísel, operacemi sčítání, odčítání, násobení a dělení. Rozšíření by mělo fungovat pro zlomky, zadané se znakem pípy, například 5|3

Mini Puzzle

Vstupem programu je obrázek rozdělený na čtvrtiny (přesné). Cílem je poskládat zpětně ze čtvrtin obrázek - nemáte však informaci, která čtvrtina je ve výsledném obrázku na kterém místě.

Easy Tetris

Tetris se čtvercovou, a případně s dlouhou kostičkou.

OK 2023

Úlohy

Find me a song

Hledání playlistu z daných písniček, tak aby splňoval zadanou délku. Problém batohu řešitelný dynamickým programováním.

Čtverečkovaný papír - bludiště

Hledání nejkratší cesty bludištěm řešitelný například Dijkstrovým algoritmem

Teleskop Jamese Webba

Úloha sestavování obrázku z jeho menších částí. Snazší varianta bez rotace, složiější (za více bodů) s rotací zdrojových obrázků - je třeba se orientovat v soustavě souřadné a vymyslet správnou transformaci.

DTP - zalamování řádek

Jde o vložení znaku nového řádku dle zadaných pravidel.

OK 2022

Úlohy

Parallax efekt - Endscreen z Pokémonů

Grafická animační úloha - animace krajiny

Televizní program - Telenovela speedrun

Algoritmus pro televizní přepínač

Sokoban - 4K Definitive Edition

Logická hra v mřížce - bludiště a přesouvání beden

Kuchařka - Hrnečku vař

Interaktivní tvorba receptů

OK 2021

Úlohy

Akvárium

Grafická animační úloha - pohyb a animace rybiček.

Kontrola časoprostových tras

Náročnější grafová úloha.

Hra Timeline

Populární jednoduchá hra s časovou osou

Samoobslužná pokladna

Algoritmus pro zpracování proudu textových akcí. Zadání využívá jednu z posledních automatizačních změn, dotýkající se běžného života.

OK 2019

Úlohy

Zápalky

Hra pro dva hráče - a na plný počet bodů i s počítačem jako protihráčem. Anglicky se tato hra jmenuje Nim.

Dálnice

Grafová úloha, řešitelná nejefektivněji Floyd-Warshall algoritmem.

Oslovování

Lingivistická úloha která prověří základní funkce pro práci s řetězci. Vede na zamyšlení se nad jazykem z programátorského hlediska.

Zúčtování

Kupecká trojčlenka zadaná na příkladu z reálného světa. Aplikace které tento problém řeší mají desítky milionů stažení - a jejich základem je nejspíš podobný algoritmus jako napíšete vy.

OK 2018

Úlohy

Pong

Hra - kulička odrážená dvěma pálkami. Ukázkových řešení je plno, takže pozor na plagiátorství.

Matrika

Podobné úloze frekvence písmen v textu; využije hashmap/dictionary

Žába

Kombinatorická úloha, respektive hledání cesty bez backtrackingu.

Úprava fotografií

Práce s grafikou - obrázkem - na úrovni bitmapy.

OK 2017

Úlohy

Artilerie

Překvapivě nepopulární (asi dvě řešení od třiceti účastníků) úloha - možná je fyzikální model příliš komplikovaný, možná je to jen zmateně zadané.

Zlomky koláče

Vdečná úloha na GUI, názorná pomůcka pro učení zlomků.

Zarovnání do bloku

Matfyzácká úloha s doplňováním mezer do řádků textu tak, aby byl text zarovnán do bloku.

OK 2016

Úlohy

Braillovo písmo

Kódování - jeden řádek se rozvine do tří řádků (výstupků pro nevidomé), stačí anglická abeceda (26 znaků)

Pohyb jezdce po šachovnici

Matfyzácká úloha na BFS a backtracking.

Hvězdná obloha

Spořič obrazovky z prastarého ''Volkov Commander'' - zobrazování hvězd v různé fázi. Tehdy to bývalo v textovém režimu, my to můžeme mít jako grafickou úlohu.

Kde leží Thákurova

Hra - zpracování deskovky ''Kde leží Kotěhůlky'' s pražskými tramvajemi. Vstupy je snadné vytvořit s pomocí otevřených dat DPP.

OK 2015

Úlohy

Animace tancujícího panáčka

Grafická úloha s animací.

Převod mezi soustavami (do desítkové)

Klasický algoritmus převodu mezi soustavami - parametrizovaná vstupní soustava, výstup do desítkové.

Patnáctka

Logická hra s přesouváním prázdného místa po NxN čtverci okořeněná požadavkem na zobrazení rozřezaného obrázku na přesouvaných dlaždicích.

Vodák

Experimentální úloha analýzy souvislého vstupu - síťového streamu.

OK 2014

Úlohy

Marťanský kalendář

Klasická algoritmická úloha hledající délku intervalu mezi dvěma časy. Ulehčení je, že na Marsu nejsou měsíce. Díky použití specifik jiné planety se vyhýbáme možnosti plagiátorství, na druhou stranu nelze použít běžnou zkušenost, ale je třeba opravdu pečlivě přečíst a pochopit zadání.

Výskyt písmen v textu

Snaha prověřit znalost datové struktury hashmapy (dictionary, ...) - prostě key->value a její praktické použití. Hodnoceno i na základě schopnosti pracovat s písmenky s diakritikou a utf-8 znaky - což je vlastnost, kterou dnes čím dál tím víc jazyků a postupů poskytne "zadarmo".

Ručičkové hodiny

Grafická úloha vykreslení klasických ručičkových hodin pomocí grafických primitiv (přímka, kružnice, atd) prověřuje základy analytické geometrie a soustavy souřadné používané při práci s grafickými knihovnami.

Pexeso

Grafická hra, vyžaduje interaktivitu a schopnost zobrazit obrázky. Není nutné implementovat hru více hráčů.

OK 2013

Úlohy

Graf

Grafická úloha - ze zadaných datapointů vykreslete graf.

Příšera v bludišti

Matfyzácká úloha, prověřující vstup ze souboru. Bludiště s krokováním.

Placení mincemi

Další matfyzácká úloha, prohledávání stavového prostoru s diskusí hladového algoritmu a vedoucího na dynamické programování.

Kontakt