Starbattle: Postup řešení

Typ úlohy: Starbattle (Doppelstern)

Zdroj: archiv webu croco-puzzle (úloha z 2. 11. 2013)

Autor postupu a datum: Honza Novotný, 24. 12. 2013

Zadání:

Zakreslete do tabulky hvězdy tak, aby v každém řádku, v každém sloupci a v každé silně orámované oblasti byly právě dvě. Hvězdy zabírají místo jednoho pole a nesmějí se vzájemně dotýkat, a to ani diagonálně. 

Příklad:

Postup řešení konkrétní úlohy:

Další úloha ze série 15 krát 15, takže řešení zabere nějakou tu chvíli a máme dost prostoru probrat různé triky jak na hvězdičky.

V prvním kroku se zaměřím na malé oblasti, zvláště ty „elka“. Umístění hvězdy na políčka s pomlčkou v jejich okolí by způsobilo, že už se do oblasti dvě hvězdy nevejdou. Důležitý postřeh totiž je, že každý čtverec 2 krát 2 políčky může obsahovat nejvýše jednu hvězdu.

Druhý krok si všímá oblasti podlouhlé, která leží celá ve čtvrtém řádku. Znamená to, že v daném řádku nesmí být hvězdy mimo tuto oblast. (2 v řádku = 2 v oblasti)

V dalším kroku poprvé prezentuje tak zvané dopočty. Vidíme, že do prvních tří řádků shora zasahují právě tři oblasti. Ve třech oblastech má být 6 hvězd a ve třech řádcích stejně tak. Proto zůstávají prázdné ty části zasahujících oblastí, které jsou mimo první tři řádky. (viz růžové pomlčky)

Podobně budu uvažovat na opačné straně tabulky. Existují přesně čtyři oblasti, které nezasahují jinam než do spodních čtyř řádků. 8 v řádcích = 8 v oblastech, a tak zůstanou prázdné ty části řádků, kam zasahují jiné oblasti.

V oblasti v označeném sloupci zůstala poslední varianta pro dvě hvězdy, čímž je hotový i celý sloupec.

Dle „L-oblasti“ vpravo nahoře a dole zasahují jen do dvou krajních sloupců. 4 z oblastí = 4 do sloupců, zbytek tedy mohu proškrtat.

Přesněji řečeno, rozmístění hvězd v těch dvou malých oblastech je téměř jasné. Když víme, že v posledním sloupci jsou (nejvýše) dvě hvězdy, musíme využít obě políčka ze sloupce předposledního. A poslední nejistota pak zůstane tam, kde jsem naznačil modré hvězdy.

Také ve čtvrtém sloupci odprava se nám velké oblast proškrtala na poslední variantu pro dvě hvězdy a celý sloupec je hotový.

Následně je jasno i v označené jednořádkové oblasti.

V levé části tabulky se vyskytují čtyři oblasti, které zasahují jen do prvních čtyř sloupců. Přesněji tři z nich zasahují do sloupců 2 až 4 a jedna proto pouze do prvního. Každopádně zbytek sloupců bude prázdný.

Vlevo nahoře je i jasné, jak přesně hvězdy umístit, což vyplnilo i první a třetí řádek.

V označené oblasti zbývají čtyři políčka na dvě hvězdy. Jedna bude nahoře a je jistá, dole jsou dvě políčka pro tu druhou. Každopádně to znamená pomlčky pod oblastí a prázdný zbytek řádku.

V označené oblasti zůstala přesně dvě políčka pro dvě hvězdy. (Pochopitelně s každou doplněnou hvězdou vždy křížkuji okolí a hotové řádky / sloupce.)

Tímto marévrem se nám vyjasnilo v oblasti řešené předtím, viz označená hvězda.

Označený řádek má obsahovat dvě hvězdy, jedna už tam je. Alespoň jedna se objeví tam, kde jsem naznačil modře. A abychom měli v té oblasti dvě hvězdy, druhá je nahoře. Zbytek označeného řádku křížkuji.

Podobně uvažuji o označeném sloupci. Jednu hvězdu už mám a druhá nutně vznikne dole. Zbytek řádku tedy bude prázdný.

V oblasti se třemi modrými hvězdami bude takto jedna nahoře a druhá je dole jistá, čímž jsme dokončili označený řádek.

V označené oblasti musí být dvě hvězdy, zároveň poslední řádek i čtvrtý sloupec už jednu hvězdu mají. Takže bude využita jedna z modrých a jedna z oranžových hvězd. Jejich okolí a zbytek řádku doplnňuji pomlčkami.

V označené oblasti zůstala poslední varianta pro dvě hvězdy. A hotový je celý řádek.

Vyjasnilo se nám v označené oblasti.

V označeném řádku zůstala poslední dvě neproškrtnutá políčka pro dvě hvězdy.

V označeném řádku zůstalo poslední políčko pro chybějící druhou hvězdu.

Poslední volné políčko v oblasti pro chybějící druhou hvězdu.

Poslední varianta pro dvě hvězdy v označené oblasti nahoře. A dole úplně poslední hvězdička.

Sláva, hurá! Máme to! smiley

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer