Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
1

Нужна идея алгоритма! Ход конём

22.04.2014, 23:11. Показов 2835. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с алгоритмом. Пользователь задаёт размеры поля Н*М. Шахматный конь находится в левом верхнем углу. Программа должна выдать, какое существует количество разных маршрутов, что ведут из левого верхнего угла в правый нижний. (Подозреваю, что-то с ДП связано). Пример вот такой:
размер 4*4 sposobov:2
размер 15*14 sposobov:7884330
конь ходит как шахматный. Ещё подозрение что-то с числами Фибоначчи.
Очень надо помощь с алгоритмом или идеей! Заранее благодарю!

Добавлено через 29 минут
http://informatics.mccme.ru/mo... =656#ch946
очень похожа задача Е ход конём(1 а не 2 рой )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.04.2014, 23:11
Ответы с готовыми решениями:

Нужна идея темы конференции, которая состоится через 10 дней
25-го числа выступаю на конференции, нужно написать что либо, из языков могу писать только на...

Лабиринт. Нужна идея: Как сделать поле лабиринта рандомным, но с одним верным путем
Начал писать код для игры в лабиринт, но не могу придумать, как будет работать рандом. То что...

Нужна идея написания программы
Ребята я долго писал программы на паскале, и вот теперь скачал турбо паскаль. Язык конечно устарел,...

Нужна идея. Сортировка названий месяцев по "традиционной" посл.
Доброго времени суток! ;) Ребят, не подскажите, как вывести массив, содержащий названия месяцев,...

4
Модератор
10078 / 5419 / 3356
Регистрация: 17.08.2012
Сообщений: 16,587
23.04.2014, 01:01 2
Цитата Сообщение от code-n'-help Посмотреть сообщение
какое существует количество разных маршрутов, что ведут из левого верхнего угла в правый нижний.
Да как грязи. Уточните задание. Для 4*4, например, есть более 2 способов:

Нужна идея алгоритма! Ход конём


Нужен критерий "правильных" способов. Минимальное количество ходов, да?

Или чтобы путь коня не содержал пересечений?
1
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
24.04.2014, 18:07  [ТС] 3
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Или чтобы путь коня не содержал пересечений
Вполне возможно, я попробую выяснить.

Добавлено через 19 часов 48 минут
Ход конём
Дана прямоугольная доска n×m (n строк и m столбцов). В левом верхнем углу находится шахматный конь, которого необходимо переместить в правый нижний угол доски. В данной задаче конь может перемещаться на две клетки вниз и на одну клетку вправо или на одну клетку вниз и на две клетки вправо.

prb4021

Необходимо определить, сколько существует различных маршрутов, ведущих из левого верхнего в правый нижний угол.


Технические условия
Входные данные

Два натуральных числа n и m (1 ≤ n, m ≤ 50).

Выходные данные

Выведите количество способов добраться конём из левого верхнего до правого нижнего угла доски.


Информация о задаче
Лимит времени: 1 секунда
Лимит памяти: 64 MB
Баллы за пройденный тест: 4
Классификация: Динамическое программирование

Пример
Пример входных данных
Sample 1
3 2

Sample 2
31 34
Пример выходных данных
Sample 1
1

Sample 2
293930

Добавлено через 24 секунды
вот сама задача
0
Модератор
10078 / 5419 / 3356
Регистрация: 17.08.2012
Сообщений: 16,587
25.04.2014, 01:30 4
Цитата Сообщение от code-n'-help Посмотреть сообщение
на две клетки вниз и на одну клетку вправо или на одну клетку вниз и на две клетки вправо
Дело. Буду думать.
1
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
04.05.2014, 20:30  [ТС] 5
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Дело. Буду думать.
мне кажеться это выглядит как-то так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const
    step:array [1..2,1..2] of byte=((2,1),(1,2));
var
    n,m,tempx,i,j,tempy:SMALLINT;
    head,tail:word;
    inkerx,inkery:shortint;
    queue:array [1..300000,1..2] of longword;
    chessboard:array [-2..53,-2..53] of longint;
    f,g:text;
begin
  assign(f,'knight.in'); reset(f);
  assign(g,'knight.out'); rewrite(g);
  fillchar(chessboard,sizeof(chessboard),0);
  readln(f,n,m);
  head:=1;
  tail:=2;
  queue[1,1]:=1;
  queue[1,2]:=1;
  for inkerx:=-2 to 53 do
  begin
    for inkery:=-2 to 0 do
      chessboard[inkery,inkerx]:=-1;
    for inkery:=51 to 53 do
      chessboard[inkery,inkerx]:=-1;
  end;
 
  for inkerx:=-2 to 0 do
    for inkery:=-2 to 53 do
      chessboard[inkery,inkerx]:=-1;
  for inkerx:=51 to 53 do
    for inkery:=-2 to 53 do
      chessboard[inkery,inkerx]:=-1;
  chessboard[1,1]:=1;
  queue[1,1]:=1;
  queue[1,2]:=1;
  head:=1;
  tail:=2;
  while head<tail do
  begin
    tempx:=queue[head,1];
    tempy:=queue[head,2];
    inc(head);
    for i:=1 to 2 do
     begin
       if (chessboard[tempx+step[i,1],tempy+step[i,2]]<>-1) and ((tempx+step[i,1]<=n) and (tempy+step[i,2]<=m))
       then begin
       chessboard[tempx+step[i,1],tempy+step[i,2]]:=chessboard[tempx+step[i,1],tempy+step[i,2]]+1;
       queue[tail,1]:=tempx+step[i,1];
       queue[tail,2]:=tempy+step[i,2];
       inc(tail);
       end;
     end;
  end;
  writeln(g,chessboard[n,m]);
  close(f);
  close(g);
end.
0
04.05.2014, 20:30
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2014, 20:30
Помогаю со студенческими работами здесь

Программа "Ход конём" на Pascal ABC.
Здравствуйте. Обращаюсь за помощью. Прошу оказать помощь в написании программы на Pascal ABC....

Ход конём задача
Помогите решить задачу пожалуйста, пробовал и у меня не получается не знаю как делать:

Игра ход конём.
Итак задача следующая. Нужно разработать игру ход конём, подскажите как.

Программирование условий на Си. Ход конём
Помогите решить. Поле шахматной доски определяется парой натуральных чисел: первое число - номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
Как перебрать все значения в перечислении (enum) в C#
bytestream 24.01.2025
Перечисление (enum) в языке программирования C# представляет собой специальный тип данных, который позволяет определить набор именованных констант. Этот мощный инструмент особенно полезен, когда. . .
Как обойтись без проверки на null, чтобы избежать NullPointerExce­ption в Java
bytestream 24.01.2025
NullPointerException (NPE) является одним из самых распространенных исключений в Java, создающих серьезные проблемы при разработке программного обеспечения. Данное исключение возникает при попытке. . .
Что лучше использовать в href ссылок в JavaScript: "#" или "javascript:voi­­d(0)­"
bytestream 24.01.2025
При разработке веб-приложений важную роль играет правильное использование HTML-ссылок в сочетании с JavaScript. Одним из ключевых аспектов является выбор корректного значения атрибута href для. . .
Как узнать индекс элемента списка по его значению в Python
hw_wired 24.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только манипулировать элементами списка, но и определять их точное местоположение. Индекс элемента представляет собой. . .
Как удалить коммит из ветки (branch) в Git
hw_wired 24.01.2025
Система контроля версий Git является мощным инструментом для отслеживания изменений в коде и совместной работы над проектами. Она предоставляет разработчикам гибкость и возможность экспериментировать. . .
Чем Docker отличается от виртульной машины
hw_wired 24.01.2025
В мире информационных технологий виртуализация стала неотъемлемой частью разработки и развертывания программного обеспечения. Этот подход позволяет создавать изолированные среды для запуска. . .
Как перейти с jQuery на Angular/AngularJS
bytestream 24.01.2025
jQuery долгое время занимала позицию незаменимого инструмента, существенно упрощающего работу с DOM-элементами и асинхронными запросами. Эта библиотека произвела настоящую революцию в том, как. . .
Зачем добавляется while (1); в JSON. Безопасность JSON и его уязвимости
bytestream 24.01.2025
JavaScript Object Notation (JSON) стал стандартом де-факто для обмена данными между клиентом и сервером. Этот легковесный формат данных обеспечивает удобное представление структурированной информации. . .
Как отметить чекбокс (установить checked) с помощью jQuery
bytestream 24.01.2025
jQuery представляет собой мощную JavaScript-библиотеку, которая значительно упрощает манипуляции с элементами веб-страницы, включая работу с формами и их компонентами. Особое место в веб-разработке. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru