Generátor sudoku
Vytvořte nové, hratelné sudoku se skutečným řešitelem backtrackingu, který ověří, že každá hádanka má přesně jedno řešení.
Výsledek
Hádanka, která pouze vymazává náhodné buňky z hotové mřížky sudoku, není skutečným hlavolamem sudoku – může snadno skončit s více než jedním platným způsobem, jak jej vyplnit, což není způsob, jakým by hra měla fungovat. Tento generátor se této zkratce vyhýbá. Nejprve vytvoří kompletní, platnou mřížku 9×9 pomocí skutečné zpětné výplně (stejná technika, jaká se používá k řešení Sudoku, běží obráceně, s pořadím kandidátů zamíchaným v každé buňce, takže řešení se mezi generacemi liší). Poté odebere buňky jednu po druhé v náhodném pořadí a po každém odstranění spustí druhý backtracking solver, který počítá řešení a zastaví se, jakmile najde dvě. Pokud by odstranění buňky umožnilo více než jedno řešení, tato buňka se vrátí zpět a místo toho se zkusí jiné.
Obtížnost je nastavena poctivým způsobem: podle počtu zbývajících počátečních číslic, což je standardní, široce používaná konvence pro hodnocení sudoku. Snadné zanechá zhruba 36 až 40 záchytných bodů, Střední přibližně 30 až 35 a Těžké přibližně 24 až 29 – každá generace si v tomto pásmu vybere náhodný cíl, takže dvě „těžké“ hádanky z tohoto nástroje nejsou totožné. Tento nástroj si nečiní nárok na klasifikaci hádanek, jakou lidskou techniku řešení (nahé singly, skryté dvojice, X-Wing atd.) vyžadují; počítání vodítek je jednodušší, poctivější a běžně používané měřítko a je to, co ve skutečnosti vede k obtížnosti zde.
Hádanka se vykresluje jako skutečná interaktivní mřížka: zadejte číslice přímo do prázdných buněk (přijímá se pouze 1–9), poté pomocí „Zkontrolujte odpověď“ zvýrazněte, které položky jsou správné nebo nesprávné, aniž byste prozradili řešení, nebo „Odhal řešení“ pro doplnění zbytku, až budete hotovi nebo uvízli. Hádanka a její řešení si lze stáhnout jako samostatný obrázek ve formátu PNG nebo vytisknout na vlastní stránku – vše, včetně nástroje na řešení, běží lokálně ve vašem prohlížeči, aniž by se nic nahrávalo.