Skip to content
Snippets Groups Projects
Commit e6b6cd37 authored by Tamas Bunth's avatar Tamas Bunth
Browse files

Add readme file

parent 017ad496
Branches
No related tags found
No related merge requests found
Sudoku elemek
=============
Feladvány
---------
Addot egy `NxN` méretű tábla. Ebbe a táblába kell elhelyezni pálcikákat úgy,
hogy a táblát teljesen lefedje.
Egy `m` hosszú pálcika `m` db különböző szimbolumot tartalmaz. Úgy kell
elhelyezni a pálcikákat a táblában, hogy a tábla ne tartalmazzon olyan sort vagy
oszlpot, ami két azonos szimbólumot tartalmaz.
A pálcikák elforgathatóak és tükrözhetőek. Pl. a { 1, 2, 3 } elem ekvivalens a {
3, 2, 1} pálcikával, és behelyezhető függőlegesen és vízszintesen is a táblába.
Egy konkrét feladat
-------------------
Adott egy 5x5-ös tábla.
Az pálcikáink a következőek (Jelen esetben 3 és 2 hosszú
pálcikákat definiáltunk.)
- 5, 4, 3
- 4, 1, 2,
- 3, 1, 2,
- 2, 1,
- 5, 3,
- 4, 2, 3
- 5, 4, 1,
- 1, 3, 5,
- 2, 5, 4,
Algoritmus
----------
Az algoritmus a bactracking elvét követi.
1. Inicializálunk egy üres táblát. Az elemekhez rendelünk egy sorrendet.
2. A bal fölső sarokból az első üres helyre (az algoritmus elején ez pont a bal
fölső sarok, utána pedig olvasásirányba az első üres cella) elindulva megpróbálunk bepakolni egy pálcikát.
- Ha a pálcikát sikeresen le tudtuk rakni, akkor folytatjuk a 2. lépésnél.
- Ha nem sikerült lerakni, akkor megváltoztatjuk az elem elhelyezkedését
(forgatjuk)
- Ha nem sikerült lerakni egyik állapotában sem, akkor új element próbálunk
lerarkni.
- Ha egyik pálcikát se sikerült lepakolni, akkor felvesszük az utoljára
letett pálcikát, és folytatjuk a 2. lépésnél.
3. A feladvány akkor van kész, ha a tábla összes cellája foglalt.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment