Igas reas ********* peavad olema numbrid 1-9 (kõiki võib esineda igas reas ainult ühe korra, näiteks: 329158674.
Igas veerus
*
*
*
*
*
*
*
*
*
peavad olema numbrid 1-9 (kõiki võib esineda igas veerus ainult korra, näiteks:
4
5
6
3
9
8
2
1
7
Samuti igas erikujulises lahtris peavad olema 1-9 kõiki ainult ühe korra.
Näide 1:
*******
**
3254689
17
Näide 2:
*
*
****
***
3
2
5867
914
Ma eeldan, et sain ise õigesti seletatud asja.
Väike Programmeerimise väljakutse (Erikujulised sudokud)
Loetud 91 kasutaja poolt
Võimatu. Kui igas reas võib esineda üks number ühe korra siis on tulemus midagi sellist ja näitega apsoluutselt ei sarnane.
123456789
912345678
891234567
789123456
678912345
567891234
456789123
345678912
234567891
123456789
912345678
891234567
789123456
678912345
567891234
456789123
345678912
234567891
Asja idee ongi selline, et igas reas ja veerus on üks igasugust. Ja lisaks sellele oleks veel äramärgitud sektorites ka eri numbrid 1-9(et ükski number ei korduks).
Selle asemel, et tavasudokudes(9x9) on üheksa 3x3 "sektorit", kus peavad olema numbrid 1-9(et ükski neist seal sektoris ei korduks), on erikujulistes just erikujulised sektorid, kus peavad ka olema eri numbrid 1-9(nii et ükski neist seal sektoris ei korduks)
Selle asemel, et tavasudokudes(9x9) on üheksa 3x3 "sektorit", kus peavad olema numbrid 1-9(et ükski neist seal sektoris ei korduks), on erikujulistes just erikujulised sektorid, kus peavad ka olema eri numbrid 1-9(nii et ükski neist seal sektoris ei korduks)
Või siis näites toodud samasugused numbrid peaks asendama arvudega ühest kuni üheksani. Nii, et samad numbrid ei kattuks reas ja viirus?!
Jaaah. Paras pähkel. Lahenduse saab ainult siis, kui mõlemaid tabeleid korraga teed ja sobitad omavahel. Enamusel varjantidest jääb üks kuni viis auku sisse. Kuid üks on olemas. Tundub vähemalt vastavat tingimustele.
Üles, alla, vasakule, paremale ja 9 kujundit erinevusega 2+2+2+2+1. Ehk siis viis erinevat.
5 5 5 5 7 4 4 4 4
5 5 5 5 7 7 7 3 4
5 7 7 7 7 7 3 3 4
1 9 9 9 9 3 3 3 4
1 8 8 8 9 3 3 3 4
1 8 8 8 9 9 9 9 4
1 8 8 6 6 6 6 6 2
1 8 6 6 6 2 2 2 2
1 1 1 1 6 2 2 2 2
begin
writeln
(1,2,4,3,5,6,9,8,7)
(8,6,7,9,1,2,4,5,3)
(5,3,9,7,6,8,2,4,1)
(9,1,5,4,8,3,6,7,2)
(3,7,6,5,2,1,8,9,4)
(4,8,2,1,7,9,3,6,5)
(6,9,3,2,4,7,5,1,8)
(7,4,8,6,3,5,1,2,9)
(2,5,1,8,9,4,7,3,6));
end.
Üles, alla, vasakule, paremale ja 9 kujundit erinevusega 2+2+2+2+1. Ehk siis viis erinevat.
5 5 5 5 7 4 4 4 4
5 5 5 5 7 7 7 3 4
5 7 7 7 7 7 3 3 4
1 9 9 9 9 3 3 3 4
1 8 8 8 9 3 3 3 4
1 8 8 8 9 9 9 9 4
1 8 8 6 6 6 6 6 2
1 8 6 6 6 2 2 2 2
1 1 1 1 6 2 2 2 2
begin
writeln
(1,2,4,3,5,6,9,8,7)
(8,6,7,9,1,2,4,5,3)
(5,3,9,7,6,8,2,4,1)
(9,1,5,4,8,3,6,7,2)
(3,7,6,5,2,1,8,9,4)
(4,8,2,1,7,9,3,6,5)
(6,9,3,2,4,7,5,1,8)
(7,4,8,6,3,5,1,2,9)
(2,5,1,8,9,4,7,3,6));
end.
tundub mask visa poiss.....
Ühe pakutud toorikuga õnnestus samuti edukalt lõppu jõuda.
{1,1,1,2,2,2,2,2,3}, (7,9,2,3,8,1,4,6,5)
{1,1,1,1,2,2,2,3,3}, (1,4,3,8,2,5,7,9,6)
{4,4,1,1,5,2,3,3,3}, (2,3,6,5,1,9,8,4,7)
{4,4,4,5,5,5,6,3,3}, (8,5,9,4,7,2,6,1,3)
{7,4,4,4,5,6,6,6,3}, (5,6,4,1,3,7,9,8,2)
{7,7,4,5,5,5,6,6,6}, (4,2,7,6,9,8,5,3,1)
{7,7,7,8,5,9,9,6,6}, (9,8,1,7,5,6,3,2,4)
{7,7,8,8,8,9,9,9,9}, (3,7,8,2,6,4,1,5,9)
{7,8,8,8,8,8,9,9,9}}; (6,1,5,9,4,3,2,7,8));
Panin tähele, et Erikujuga kujundite loomise alustamisel võiks silmas pidada, et ühele reale ei satuks üle kolme kujundi alad. Mõnes kohas võib olla neli, kuid see vähendab tunduvalt unikaalsuse õnnestumise protsenti. Vististi hiljem ka erinevaid koopjaid.
{1,1,1,2,2,2,2,2,3}, (7,9,2,3,8,1,4,6,5)
{1,1,1,1,2,2,2,3,3}, (1,4,3,8,2,5,7,9,6)
{4,4,1,1,5,2,3,3,3}, (2,3,6,5,1,9,8,4,7)
{4,4,4,5,5,5,6,3,3}, (8,5,9,4,7,2,6,1,3)
{7,4,4,4,5,6,6,6,3}, (5,6,4,1,3,7,9,8,2)
{7,7,4,5,5,5,6,6,6}, (4,2,7,6,9,8,5,3,1)
{7,7,7,8,5,9,9,6,6}, (9,8,1,7,5,6,3,2,4)
{7,7,8,8,8,9,9,9,9}, (3,7,8,2,6,4,1,5,9)
{7,8,8,8,8,8,9,9,9}}; (6,1,5,9,4,3,2,7,8));
Panin tähele, et Erikujuga kujundite loomise alustamisel võiks silmas pidada, et ühele reale ei satuks üle kolme kujundi alad. Mõnes kohas võib olla neli, kuid see vähendab tunduvalt unikaalsuse õnnestumise protsenti. Vististi hiljem ka erinevaid koopjaid.
111132222 1 2 4 3 9 7 8 5 6
111333222 9 5 7 4 8 6 2 1 3
113333322 8 6 3 2 7 1 5 9 4
445555566 3 4 1 9 2 8 7 6 5
445556666 2 1 6 5 4 3 9 7 8
444456669 5 9 8 6 3 4 1 2 7
477789999 7 8 2 1 6 5 4 3 9
777888999 4 3 5 7 1 9 6 8 2
777888889 6 7 9 8 5 2 3 4 1
111333222 9 5 7 4 8 6 2 1 3
113333322 8 6 3 2 7 1 5 9 4
445555566 3 4 1 9 2 8 7 6 5
445556666 2 1 6 5 4 3 9 7 8
444456669 5 9 8 6 3 4 1 2 7
477789999 7 8 2 1 6 5 4 3 9
777888999 4 3 5 7 1 9 6 8 2
777888889 6 7 9 8 5 2 3 4 1
Programmeerimist polegi vaja, selle asemel Mask loob lihtsalt tuhandeid erikujulisi sudokusi, mis genereeritakse :D
{1,1,1,1,1,2,2,2,3}, 5,9,3,1,8,2,6,4,7
{4,1,1,1,2,2,2,2,3}, 9,4,6,2,3,8,1,7,5
{4,1,5,5,6,2,7,2,3}, 6,7,8,3,1,9,2,5,4
{4,5,5,5,6,6,7,7,3}, 3,6,7,9,2,5,4,1,8
{4,4,5,6,6,6,7,3,3}, 1,5,4,7,6,3,8,2,9
{4,5,5,6,6,7,7,7,3}, 2,1,5,8,4,7,3,9,6
{4,8,5,8,6,7,7,9,3}, 7,8,2,4,9,6,5,3,1
{4,8,8,8,8,9,9,9,3}, 8,2,1,5,7,4,9,6,3
{4,8,8,8,9,9,9,9,9}}; 4,3,9,6,5,1,7,8,2
Üks raskemaid. Lihtsam oleks teha, unikaalsetest väikeste muudatustega uusi, kuni muudatused on suured. Liigutades kujundeid ühe ruudu võrra. Nullist unikaalseid tha on suhteliselt aeganõudev. Kui just on mingi eriline?!
{4,1,1,1,2,2,2,2,3}, 9,4,6,2,3,8,1,7,5
{4,1,5,5,6,2,7,2,3}, 6,7,8,3,1,9,2,5,4
{4,5,5,5,6,6,7,7,3}, 3,6,7,9,2,5,4,1,8
{4,4,5,6,6,6,7,3,3}, 1,5,4,7,6,3,8,2,9
{4,5,5,6,6,7,7,7,3}, 2,1,5,8,4,7,3,9,6
{4,8,5,8,6,7,7,9,3}, 7,8,2,4,9,6,5,3,1
{4,8,8,8,8,9,9,9,3}, 8,2,1,5,7,4,9,6,3
{4,8,8,8,9,9,9,9,9}}; 4,3,9,6,5,1,7,8,2
Üks raskemaid. Lihtsam oleks teha, unikaalsetest väikeste muudatustega uusi, kuni muudatused on suured. Liigutades kujundeid ühe ruudu võrra. Nullist unikaalseid tha on suhteliselt aeganõudev. Kui just on mingi eriline?!