Kurzusok
/
D
D
/
Feladatok
/
Killer Sudoku segéd
Killer Sudoku segéd

Killer Sudoku segéd

Közepes

Utasítások

Az egyik barátod éppen azt tanulja, hogyan kell Killer Sudokut megoldani (a szabályokat lentebb találod), de nehezen boldogul azzal, hogy kitalálja, mely számjegyek kerülhetnek egy ketrecbe. Megkér, hogy segíts neki egy kis program megírásával, amely felsorolja egy adott ketrec összes érvényes kombinációját, valamint minden olyan megkötést, amely hatással van a ketrecre.

Hogy a programod kimenete könnyen olvasható legyen, a visszaadott kombinációknak rendezett sorrendben kell szerepelniük.

A Killer Sudoku szabályai

  • A standard Sudoku-szabályok érvényesek.
  • A ketrecben lévő számjegyek, amelyeket általában pontozott vonal jelöl, összeadva kiadják a ketrec sarkában szereplő kis számot.
  • Egy számjegy egy ketrecben csak egyszer fordulhat elő.

Részletesebb magyarázatért nézd meg ezt az útmutatót.

1. példa: Ketrec egyetlen lehetséges kombinációval

Egy 7 összegű, 3 számjegyű ketrecben csak egyetlen érvényes kombináció van: 124.

  • 1 + 2 + 4 = 7
  • Minden más, 7-et kiadó kombináció, például a 232, megsértené azt a szabályt, hogy egy ketrecen belül nem ismétlődhetnek a számjegyek.

Sudoku rács három killer ketreccel, amelyek összetartozóként vannak megjelölve.
Az első killer ketrec a rács bal felső sarkában lévő 3×3-as blokkban található.
A blokk középső oszlopa alkotja a ketrecet, felülről lefelé a következő cellákkal: az első cella egy 1-est és egy 7-es ceruzajelet tartalmaz, ami a ketrec 7-es összegére utal, a második cella egy 2-est, a harmadik cella egy 5-öst.
A számok pirossal vannak kiemelve, ami hibát jelez.
A második killer ketrec a rács középső 3×3-as blokkjában található.
A blokk középső oszlopa alkotja a ketrecet, felülről lefelé a következő cellákkal: az első cella egy 1-est és egy 7-es ceruzajelet tartalmaz, ami a ketrec 7-es összegére utal, a második cella egy 2-est, a harmadik cella egy 4-est.
Ebben a ketrecben egyik szám sincs kiemelve, ezért nem tartalmaz hibát.
A harmadik killer ketrec a rács középső 3×3-as blokkjának külső sarkát követi.
A következő három cellából áll: a ketrec bal felső cellája egy 2-est tartalmaz, pirossal kiemelve, valamint egy ceruzajelet, amely a ketrec 7-es összegét jelzi.
A ketrec jobb felső cellája egy 3-ast tartalmaz.
A ketrec jobb alsó cellája egy 2-est tartalmaz, pirossal kiemelve. Minden más cella üres.

2. példa: Ketrec több lehetséges kombinációval

Egy 10 összegű, 2 számjegyű ketrecben 4 lehetséges kombináció van:

  • 19
  • 28
  • 37
  • 46

Sudoku rács, minden négyzet üres, kivéve a középső oszlopot, az 5. oszlopot, amelyben 8 sor van kitöltve.
Minden egymást követő két sor egy killer ketrecet alkot, és összetartozóként van megjelölve.
Felülről lefelé: az első csoport egy 1-es értékű cella és egy ceruzajel, amely a ketrec 10-es összegét jelzi, majd egy 9-es értékű cella.
A második csoport egy 2-es értékű cella és egy 10-es ceruzajel, majd egy 8-as értékű cella.
A harmadik csoport egy 3-as értékű cella és egy 10-es ceruzajel, majd egy 7-es értékű cella.
A negyedik csoport egy 4-es értékű cella és egy 10-es ceruzajel, majd egy 6-os értékű cella.
Az oszlop utolsó cellája üres.

3. példa: Korlátozott ketrec több lehetséges kombinációval

Egy 10 összegű, 2 számjegyű ketrecben, ahol az oszlopban már szerepel egy 1-es és egy 4-es, 2 lehetséges kombináció van:

  • 28
  • 37

A standard Sudoku-szabályok szerint a 19 és a 46 nem lehetséges az oszlopban lévő 1-es és 4-es miatt.

Sudoku rács, minden négyzet üres, kivéve a középső oszlopot, az 5. oszlopot, amelyben 8 sor van kitöltve.
Az első sor egy 4-est tartalmaz, a második üres, a harmadik pedig egy 1-est.
Az 1-es pirossal van kiemelve, ami hibát jelez.
Az oszlop utolsó 6 sora kétcellás killer ketreceket alkot.
Felülről lefelé: az első csoport egy 2-es értékű cella és egy ceruzajel, amely a ketrec 10-es összegét jelzi, majd egy 8-as értékű cella.
A második csoport egy 3-as értékű cella és egy 10-es ceruzajel, majd egy 7-es értékű cella.
A harmadik csoport egy 1-es értékű cella, pirossal kiemelve, és egy 10-es ceruzajel, majd egy 9-es értékű cella.

Próbáld ki magad

Ha szeretnél kipróbálni egy könnyen megközelíthető Killer Sudokut, próbáld ki ezt a feladványt, amelyet Clover készített, és amelyet Mark Goodliffe mutatott be a Cracking The Cryptic csatornán 2021. június 21-én.

Killer Sudokukat változó nehézségben számos újságban, valamint Sudoku-alkalmazásokban, könyvekben és weboldalakon is találhatsz.

Köszönet

A fenti képernyőképek a F-Puzzles.com segítségével készültek, amely Eric Fox rejtvény-összeállító eszköze.

A kombinációk formátuma

Minden kombinációt egy ushort bitset ír le. Például a 124 kombinációt a 0b1011 írja le.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
D Exercism

Készen állsz elkezdeni a(z) Killer Sudoku segéd feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) D nyelvet 92 feladat segítségével, valódi emberi mentorálással, mindez ingyen.