Професионална програма
Loading...
+ Нов въпрос
sorrow avatar sorrow 0 Точки

Задачата за 8-те царици

Решавам я  без hashset-ове, с прост метод който проверява модулът на(реда - колоната) - дали са на 1 диагонал и цикъл да провери дали са на 1 ред или колона. Това казано, изкарва много по малко решения от колкото трябва - например за 8 * 8  - 15 решения. Което е далеч от 92 , нито е 12-те фундаментални.. http://pastebin.com/Tx0vdNDd

Най-отгоре z е размера на дъската.

nakov avatar nakov SoftUni Team Trainer 5300 Точки
Best Answer

Изглежда им бъг, но кодът е толкова труден за четене, че не можах да го хвана от пръв поглед. Струва ми се, че формулата за единия диагонал е row + col, а за другия: row - col. Единият диагонал има еднакви суми, а другият - еднакви разлики.

Проверките за диагоналите са ти доста неефективни (N*N стъпки за всеки опит за поставяне на нова царица е бавничко).

Препоръчвам ти да изкараш курса по качествен код. Особено голям проблем има с имената на променливите. А вълшебното число "7" направо цепи мрака.

Наков

9
19/09/2015 15:46:12