|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.10.2012, 15:08 | #1 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
Из k,l в m,n за 2 хода
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:
Выяснить, можно ли с поля (k, l) одним ходом конь попасть на поле (m, n). Если нет, то выяснить, как это можно сделать за два хода (указать поле, на которое приводит первый ход). Предполагается, что указанные поля имеют один и тот же цвет. Нужно на паскале Сделал как за один ход,а как за два не получается. |
20.10.2012, 15:20 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Не получается в коде программы или идей просто нет?
Я так думаю, что рекурсивно вызывать ту же функцию вычисления, что и для одного хода, пока k<>m,l<>n и количество рекурсий <2
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.10.2012, 15:47 | #3 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
Код:
а как дальше, проверить за 2 хода |
20.10.2012, 16:01 | #4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Как-нибудь так:
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.10.2012, 16:15 | #5 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
Спасибо)
оставил отзыв) но мог бы еще помочь с указанием 1 первого хода, когда за два |
20.10.2012, 18:45 | #6 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Sciv, не знаю, в чем дело, но Ваша программа говорит "возможно за 2 хода" при любых входных данных - http://ideone.com/sZN5Xi.
19:18 Update Мой вариант (очень топорный - наверное, можно сделать красивее, и нету гарантий правильной работы ) Код:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 21.10.2012 в 13:45. |
|
20.10.2012, 19:11 | #7 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
BDA, я знаю.
Топикстартер, дико извиняюсь, программа недоделана, но, думаю, идея понятна. Дело в том, что я поспешил (нужно было отбежать по делам) и отправил сырой вариант (я бы даже сказал, мокрый)
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
20.10.2012, 21:50 | #8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Вот вроде доделал...
Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
21.10.2012, 11:40 | #9 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 37
|
Все отлично работает.
Правда еще твою программу не до понял не много. И когда начальная=конечной она не правильно работает. Ну и на этом спасибо. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задержка хода противника | LiuLiuJons | C++ Builder | 8 | 19.04.2012 17:33 |
Алгоритм выбора лучшего хода | tanyhaftv | Помощь студентам | 4 | 09.06.2011 17:55 |
Пузырьки:алгоритм лучшего хода | SynEnergizer | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 05.12.2009 16:18 |
Как сделать имитацию хода даты и времени в программе? | Bill Gates | Общие вопросы Delphi | 1 | 06.01.2008 15:21 |
Как сделать имитацию хода даты и времени в программе? | Bill Gates | Общие вопросы Delphi | 1 | 05.01.2008 22:42 |