Mrakodrapy

Text zadání:

(Klasické mrakodrapy 6x6) Do každého políčka vepište jedno číslo od 1 do 6 tak, aby se čísla neopakovala v žádném řádku ani sloupci. Čísla představují výšku budovy stojící v daném políčku. Čísla okolo mřížky udávají kolik budov je viditelných z daného směru. Vyšší budova zakryje všechny nižší budovy za ní.

Příklad zadání a řešení:

Vysvětlení principu úlohy:

K pochopení toho, kdy jsou mrakodrapy vidět a kdy se vzájemně zakrývají, snad postačí jeden obrázek.

Ukázka postupu řešení:

Dvě základní, jednoduché, obecné úvahy: 1) Mrakodrap na kraji řádku / sloupce je každopádně vidět; 2) Mrakodrap nejvyšší v dané úloze (pro nás 6) je vidět ze všech stran, nic jej nemůže zakrýt. Tedy pokud má být někde vidět jediný mrakodrap, musí být na okraji řádku / sloupce ten nejvyšší. V našem případě umisťujeme tři šestky, do prvního sloupce a do prvního a posledního řádku.

Další jednoduchá obecná úvaha: Mrakodrap nejnižší výšky může být vidět (= zůstane nezakrytý) pouze v případě, že stojí na okraji řádku / sloupce. V naší úloze je zjevné, že jednička vepsaná v zadání úlohy nebude zespodu vidět, zakryjí ji ostatní mrakodrapy ve sloupci, ať jsou jakékoliv. Zároveň má být ve třetím sloupci odspodu vidět 5 mrakodrapů. Zbývá 5 mrakodrapů, které připadají v úvahu (všechny mimo 1), proto musí být od kraje seřazeny podle velikosti.

Vepisujeme 2, 3, 4 a 5 a zapamatujeme si z prvních dvou kroků i pro příště: důležité bývá, když je vidět hodně málo mrakodrapů, nebo naopak hodně moc.

Analogicky k předchozím úvahám rozvineme situaci, kdy má být vidět málo mrakodrapů. Mrakodrap druhé nejvyšší výška, v našem případě 5, bude zakrytý, pouze když se schová za ten nejvyšší (pro nás 6). To znamená, že je skoro vždy vidět. Z jiného směru úvah, když umístíme druhý nejvyšší mrakodrap u okraje, kolik jich pak bude vidět? Pochopitelně dva, ten u okraje a pak ten nejvyšší, ať v daném řádku / sloupci kdekoliv.

V naší úloze můžeme umístit 5 do posledního sloupce, musí být u horního okraje, jinak by bylo vidět více než dva mrakodrapy. Dále můžeme umístit 5 do posledního řádku, musí být v pátém sloupci, protože všude jinde má být vidět více než dva mrakodrapy.

V dalším kroku se zaměříme na umisťování nejvyššího mrakodrapu do celé tabulky. Je podstatné, že zakryje všechno za sebou, a proto počet viditelných mrakodrapů z určitého směru je nejvýše roven pořadí nejvyššího mrakodrapu od okraje.

Ve čtvrtém sloupci odspodu mají být vidět čtyři mrakodrapy, proto 6 může být nejblíže na čtvrtém políčku od okraje. Vzhledem k tomu, že ve čtvrtém i šestém řádku odspodu již 6 máme, zbývá v celém sloupci jediné přípustné pole.

Podobně v pátém sloupci shora mají být vidět čtyři mrakodrapy, proto 6 může být nejblíže na čtvrtém políčku shora. Ve čtvrtém řádku zprava mají být vidět tři mrakodrapy, proto by v tomto řádku by 6 zavazela. A v pátém sloupci musí být 6 v pátém řádku.

Ve druhém sloupci můžeme také uvažovat o počtu viditelných mrakodrapů. Ale jednodušeji umístíme 6 jako poslední chybějící 6 v celé tabulce.

Pokračujeme s druhým nejvyšším mrakodrapem.

V pátém řádku musí být 5 hned vlevo, jinak by zleva bylo vidět více než dva mrakodrapy. (Vycházíme zároveň z toho, že poslední sloupec již 5 obsahuje.)

Pak ve druhém sloupci zůstává poslední volné pole pro 5 a následně také ve čtvrtém sloupci poslední volné pole pro 5.

Nyní umístíme třetí nejvyšší mrakodrap (4) do pátého sloupce. V čtvrtém řádku ji 4 máme; kdybychom jej umístili do prvního nebo druhého řádku, nebylo by možné shora vidět 4 mrakodrapy; proto 4 patří v pátém sloupci do třetího řádku.

Hodí se mít stále na paměti, že čísla okolo tabulky udávají, kolik přesně mrakodrapů je vidět. Nesmí to být méně, ale ani více.

Zamysleme se nad umístěním mrakodrapu 3 do pátého sloupce. V prvním řádku být nemůže, pak by nebyly shora vidět čtyři mrakodrapy. Ale nemůže být také ve čtvrtém řádku! Protože by pak ve čtvrtém řádku zprava byly vidět čtyři mrakodrapy a ne tři. (Na volné pole u okraje by zbyly možnosti 1 nebo 2, obě menší než 3.) Umisťujeme tedy mrakodrap 3 v pátém sloupci do druhého řádku.

A co vidíme ve druhém řádku zprava? Zatím mrakodrapy 3 a 6. Pokud umístíme do šestého sloupce 1 nebo 2, viděli bychom tři mrakodrapy. Musíme tedy 3 zakrýt pomocí 4, abychom viděli právě dva.

V šestém řádku zleva již jistě uvidíme mrakodrapy 5 a 6, proto mrakodrap 4 umístíme hned u okraje, abychom viděli právě tři mrakodrapy.

Naopak v prvním řádku musíme mrakodrap 4 skrýt ze 6, aby zleva nebylo vidět více než dva mrakodrapy. (Umístění do prvního sloupce již není možné.)

V pátém řádku pak zbývá poslední volná pozice pro 4.

Mrakodrapy 1 a 2 doplníme do druhého řádku v takovém pořadí, abychom zprava viděli právě dva mrakodrapy. Následně v prvním sloupci umístíme mrakodrapy 1 a 3 tak, abychom shora viděli také právě dva mrakodrapy.

A v závěru se hodí nezapomínat na to, že vyplňujeme latinský čtverec. Každé číslo je právě jednou v každé řádku i sloupci. Poslední chybějící čísla 1, 2 a 3 je snadné doplnit i bez využívání viditelných a neviditelných mrakodrapů.

A je to! smiley

zpět na seznam úloh

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer