15.07.2010, 05:53 | |
Ответы с готовыми решениями:
1272
Элементарные программы, для лучшего понимания языка... Задачи для тренировки и лучшего понимания языка Литература для лучшего понимания сути программирования Набор задачь для тренировки и улучшения понимания программирования |
27.08.2010, 20:44 | 741 | |||||
Долго я над ней думал!!! Вот написал код, там есть вывод максимального просчитанного хода (это временно), так вот программа очень быстро считает до 60го (посути до 59го) хода, потом долго думает, очень долго), я так и не дождался когда она закончит, поэтому пишу сюда - может кто-нибудь что-нибудь подскажет)
0
|
28.08.2010, 19:12 | 743 | |||||
Не пойму, где накосячил "про коня"
0
|
28.08.2010, 20:12 | 744 |
fasked могу ошибаться, но я думаю ваша ошибка в том, что нет контроля типа "так я уже ходил, ни чего не получилось, больше так ходить не надо)" Например идем вверх вправо, вверх влево, вправо вниз и ОП - дальше хода нет, делаем шаг назад, пробуем ходить дальше и ОПЯТЬ идем вправо вниз (мы же не "знаем", что так ходить нельзя, что первое попалось в if else (в FindPath())туда и идем) и так происходит очень много раз, из-за чего происходит ошибка сигментации памяти (при ходе назад что-то же куда-то пишется) Вот, по-моему так)
0
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
||||||
05.09.2010, 10:22 | 745 | |||||
Я 3тий день бъюсь над задачкой о коне... придумал такую штуку:
конь стоит на клетке 0,0. перед тем как пойдти на новую клетку, он проверяет: а) находятся ли её координаты на поле (на пример конь не может пойдти на клетку с координатами 8,9) б) был ли он на ней. после хода, координаты новой клетки впихаются в стек. старая помечается "пройденной". если не один из возможных вариантов не удовлетворяет условий а и б, конь возвращается на предидущею клетку. а клетка с которой он вернулся помечается не пройденной и вытаскивается из стека. продолжаем повторять этот процес пока все клетки не будут пройдены. вот код. но не могу найти ошибку...
ЛЮДИ!!!! Мы тут мучеемся, а оказывается существует Правило Варнсдорфа.
1
|
05.09.2010, 11:55 | 746 |
nikkka, у меня такой же алгоритм, только без стека (через массив), у faskedа тоже такой же. А вообще я находил в сети решение где-то в 50 сторок на С, но не стал его сюда выкладывать, пробовал сам написать)(причем так, чтоб не повторять найденное решение)) А вот про Правило Варнсдорфа не знал, спасибо. Интересно на чем оно основывается?
0
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
05.09.2010, 12:05 | 747 |
правило формулируется очень просто: следующий ход коня нужно делать на клетку, откуда существует наименьшее количество возможных ходов. Если клеток с одинаковым количеством ходом несколько, то можно выбрать любую.
Добавлено через 2 минуты я добавил проверку на "пройденность": "я уже пробовал так ходить, и ничего хорошого не вышло".
0
|
05.09.2010, 12:07 | 748 |
)))Да читать то я умею) Мне интересно - почему выбирается клетка, с которой существует наименьшее количество возможных ходов? Это же должно как то логически обосновываться.
Добавлено через 1 минуту
0
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
05.09.2010, 12:24 | 749 |
А... Думаю это будет не так уж и просто понять... Над задачкой ведь бились с IX века!...
http://en.wikipedia.org/wiki/Knight's_tour
0
|
05.09.2010, 13:03 | 750 |
Есть игрушка: http://www.gamereclaim.com/200... equest-01/
Составить программу, которая решает уровень методом перебора Графическая часть не нужна. Просто в каком-то виде задать уровень и в каком-то виде напечатать результат
1
|
48 / 48 / 10
Регистрация: 12.01.2010
Сообщений: 183
|
||||||
05.09.2010, 15:02 | 751 | |||||
Мое решение:
откуда бы конь не начинал ити, где бы не стоял, при такой раскладке он может пойти всего на две кнопки.
0
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
05.09.2010, 15:10 | 752 |
Из 4 и 6 на 3 кнопки, из 5 на 0 кнопок.
0
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
05.09.2010, 17:54 | 753 |
ничего не понял
Добавлено через 10 минут неправда. если он стартует с кнопки 6, то у него 3 варианта следуйшей цифры, а если с 5 то вариантов 0. Добавлено через 7 минут а с 0 номер начинать можно?
0
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
05.09.2010, 18:59 | 754 |
nikkka, в подобных задачах если что-то не запрещено, значит можно.
1
|
48 / 48 / 10
Регистрация: 12.01.2010
Сообщений: 183
|
|
05.09.2010, 20:07 | 755 |
да, затупил я
думал самый умный
0
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
||||||
05.09.2010, 20:34 | 756 | |||||
лендер, со всеми бывает
кстате, есть намного более лёгкий способ возведения двойки в степень. с помощю битогого сдвига. а вот и моё решение:
0
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
06.09.2010, 17:44 | 757 |
Вспомнил простенькую задачку, интересно, какие будут решения)
Дана последовательность из N чисел. Вывести эту последовательность в обратном порядке. В программе запрещено использовать массивы.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
06.09.2010, 17:45 [ТС] | 758 |
Хохол, А векторы?)
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
06.09.2010, 17:48 | 760 |
Хохол, а как заданная последовательность представляется в программе?
0
|
06.09.2010, 17:48 | |
06.09.2010, 17:48 | |
Помогаю со студенческими работами здесь
760
Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки Нужны задачи для тренировки Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |