Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
11 / 11 / 2
Регистрация: 01.10.2010
Сообщений: 139
1

Можно ли с поля (k, l) одним ходом слона попасть на поле (m, n)?

28.10.2010, 08:45. Показов 4560. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:
Выяснить, можно ли с поля (k, l) одним ходом слона попасть на поле (m, n). Если нет, то выяснить, как это можно сделать за два хода (указать поле, на которое приводит первый ход).

Предполагается, что указанные поля имеют один и тот же цвет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2010, 08:45
Ответы с готовыми решениями:

Вычислить, можно ли с поля (k, l) одним ходом ферзя попасть на поле (m, n)
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8:...

Проверить, можно ли с первой заданной клетки попасть на вторую одним ходом черного слона
1. Шахматная доска содержит 8*8 клеток. Горизонтали и вертикали обозначаются цифрами 1-8. Написать...

Определить, можно ли с клетки (k, l) одним ходом ферзя попасть на клетку (m, n)
Поле для шахмат определяется парой натуральных чисел, каждое из которых не превышает восьми:...

Определите, может ли ферзь попасть с первой клетки на вторую одним ходом
Шахматный ферзь ходит по диагонали, горизонтали или вертикали. Даны две различные клетки шахматной...

7
36 / 37 / 13
Регистрация: 10.10.2010
Сообщений: 115
28.10.2010, 12:54 2
только один вопрос: а если и за два хода не попасть?
а если вообще нельзя будет попасть в заданную клетку, как бы конь не выворачивался? (хотя помойму это маловероятно, вроде есть теорема что конём можно хоть куда придти..)
0
Платежеспособный зверь
8956 / 4382 / 1649
Регистрация: 28.10.2009
Сообщений: 11,624
28.10.2010, 12:58 3
WatsOne, ты прямо как Высоцкий: королей я путаю с тузами.
В задаче-то про слона говорят, а не про коня
0
36 / 37 / 13
Регистрация: 10.10.2010
Сообщений: 115
28.10.2010, 13:03 4
кот Бегемот, упс! бывает, задумался)
0
291 / 151 / 34
Регистрация: 13.10.2009
Сообщений: 164
28.10.2010, 13:40 5
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
x:array[1..3]of integer;
y:array[1..3]of integer;
begin
 readln(x[1],y[1],y[2],x[2]);
 if((x[1]+x[2]+y[1]+y[2]) mod 2 = 0) then begin
  if (abs(x[1]-x[2])=abs(y[1]-y[2])) then begin
   writeln('mona');
  end
  else begin
   y[3]:=(x[1]+y[1]+x[2]-y[2])div 2;
   x[3]:=(x[1]+y[1]-x[2]+y[2])div 2;
   if (x[3]>8) or (x[3]<1) or (y[3]>8) or (y[3]<1) then begin
    y[3]:=(x[2]+y[2]+x[1]-y[1])div 2;
    x[3]:=(x[2]+y[2]-x[1]+y[1])div 2;
   end;
   writeln('Nea, nado cherez ',x[3],',',y[3]);
  end;
 end
 else
 writeln('Raznii zvet');
 readln;
end.
Должно работать.

P.S. Есть замкнутый цикл, которым конь обходит всю доску, потому он с любой точки может попасть в любую другую за 31 или меньше ходов

Добавлено через 14 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
x:array[1..3]of integer;
y:array[1..3]of integer;
begin
 readln(x[1],y[1],x[2],y[2]);
 if((x[1]+x[2]+y[1]+y[2]) mod 2 = 0) then begin
  if (abs(x[1]-x[2])=abs(y[1]-y[2])) then begin
   writeln('mona');
  end
  else begin
   x[3]:=(x[1]+y[1]+x[2]-y[2])div 2;
   y[3]:=(x[1]+y[1]-x[2]+y[2])div 2;
   if (x[3]>8) or (x[3]<1) or (y[3]>8) or (y[3]<1) then begin
    x[3]:=(x[2]+y[2]+x[1]-y[1])div 2;
    y[3]:=(x[2]+y[2]-x[1]+y[1])div 2;
   end;
   writeln('Nea, nado cherez ',x[3],',',y[3]);
  end;
 end
 else
 writeln('Raznii zvet');
 readln;
end.
перепутал местами x и y в вводе
1
allbegood
18.11.2010, 15:57 6
DexterUa,

Путешествуя по стране чудес,Алиса случайно наткнулась на шахматного коня,зная к чему приводят встречи в чистом поле с незнакомыми девочками,конь убежал.
Поле, по которому бежит конь,имеет вид шахматной доски размерность n на n. 3<=n<=200
Чтобы убежать, конь должен перемещаться из позиции xn,yn в позицию xk,yk.Определить минимальное число ходов коня.
Входные данные:вводятся целые числа - n,xn,yn,xk,yk,разделенные пробелами или символами перевода строки при этом 3<=n<=200, 1<=xn, yk<=n.
Выходные данные: Вывести одно целое число S - минимальное количество ходов коня.
В случае невозможности перемещения коня на требуемую клетку,вывести (-1).


что ты про алгоритм для коня писал? помоги пожалуйста, иначе зачета не видать..%)
Почетный модератор
64305 / 47600 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.11.2010, 15:59 7
Цитата Сообщение от allbegood Посмотреть сообщение
иначе зачета не видать..%)
Что-то не похоже условие на зачетное, больше на олимпиадное...
0
allbegood
18.11.2010, 16:09 8
я не вижу смысла вводить в заблуждение тут людей. задачу дал препод в инсте...
18.11.2010, 16:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2010, 16:09
Помогаю со студенческими работами здесь

Определить, возможно ли попасть из одной клетки в другую одним ходом шахматного коня
Заданы две клетки шахматной доски. Требуется определить, возможно ли попасть из одной клетки в...

Можно ли одним ходом слона попасть с поля (k, l) на поле (m, n)
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми:...

Выяснить, можно ли с поля (k, l) одним ходом Слона попасть на поле (m, n)
(НЕ могу понять как высчитываются дополнительные точки, что такое continue и зачем цикл ) Поле...

Шахматы. Выяснить, можно ли с поля (к, l) одним ходом слона попасть на поле (m, n)
привет, помогите составить программу. Поле шахматной доски определяется парой натуральных чисел,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru