|
|
|
Обход доски конем
|
|||
|---|---|---|---|
|
#18+
Ура! Седня проверил алгоритм быстро работает даже на доске 80 на 80) правда если размерность 90 на 90 в проге уже возникает ошибка Stack Overflow но это уже не важно ) меня устраивает и размерность 80 на 80 завтра вот проверю еще диапазон от 80 до 90 посмотрю какая максимальная размерность поддерживается алгоритмом небольшой вопрос: я хочу проверить алгоритм на прямоугольной доске N*M седня пару тестов запустил на доске 80 на 60 решения не нашел Есть у вас какие нибудь тесты с найденными решениями на прямоугольных досках дайте пожалуйста размерность досок и номера полей с которых запускали а то я че то перебирал поля пока положительный тест не обнаружил ну т.е чтобы решение было и второй вопрос например при обходе доски ферзем правило Варнсдорфа также даст сокращение перебора или здесь уже без разницы прямой перебор или с Варнсдорфом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 20:02 |
|
||
|
Обход доски конем
|
|||
|---|---|---|---|
|
#18+
Damir_85Ура! Седня проверил алгоритм быстро работает даже на доске 80 на 80) правда если размерность 90 на 90 в проге уже возникает ошибка Stack Overflow но это уже не важно ) меня устраивает и размерность 80 на 80 завтра вот проверю еще диапазон от 80 до 90 посмотрю какая максимальная размерность поддерживается алгоритмом небольшой вопрос: я хочу проверить алгоритм на прямоугольной доске N*M седня пару тестов запустил на доске 80 на 60 решения не нашел Есть у вас какие нибудь тесты с найденными решениями на прямоугольных досках дайте пожалуйста размерность досок и номера полей с которых запускали а то я че то перебирал поля пока положительный тест не обнаружил ну т.е чтобы решение было и второй вопрос например при обходе доски ферзем правило Варнсдорфа также даст сокращение перебора или здесь уже без разницы прямой перебор или с Варнсдорфом? Stack Overflow - ты че-то глубоко забрался ) Во-первых, рекурсия не нужна тут. Во-вторых, подумай о других оптимизациях, маленькие хитрости могут существенно экономить время. Решение Вансдорфом (без склеек) для доски 1000х1000 находится примерно за секунду. А насчет ферзя ты, конечно, пошутил, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 21:01 |
|
||
|
Обход доски конем
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, завтра посмотрю из за чего там ошибка да алгоритм действительно рекурсивный)) попробую перевести его в итерацию может из за рекурсии ошибка возникает Кстати что это за склейки? о них я слышу впервый раз: алгоритм который у меня просто ищет поле откуда можно сделать минимальное кол-во ходов и перемещает фигуру на это поле Склейка вроде не используется никакая и прямоугольная доска! дайте какие ниибудть тесты которые дают решение а насчет ферзя..)) ..я знаю что задача не представляет такого интереса как обход конем.но просто интересно правило Варнсдорфа также сократит перебор или нет..т.е распространяется ли это правило на другие фигуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 21:29 |
|
||
|
Обход доски конем
|
|||
|---|---|---|---|
|
#18+
> Кстати что это за склейки? Про разрезание доски (т.е. решение при помощи склеивания решений для мелких досок) см. выше. > алгоритм который у меня просто ищет поле откуда можно сделать минимальное кол-во ходов У Варнсдорфа есть тонкость - какое из полей с одинаковым весом выбрать. Тут простор для твоих подправил. > дайте какие ниибудть тесты которые дают решение Да просто бери любую доску, например, квадрат или прямоугольник со стороной 5 или больше. Там всегда есть решение. Более того, если произведение сторон четное - есть замкнутый путь. Его проще искать, если начинать из центра. > а насчет ферзя Просто змейкой ходи - вот и все правило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 21:54 |
|
||
|
|

start [/forum/topic.php?fid=16&gotonew=1&tid=1342548]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get first new msg: |
6ms |
get forum data: |
1ms |
get page messages: |
101ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 407ms |

| 0 / 0 |
