1 / 1 / 0
Регистрация: 25.01.2016
Сообщений: 107
1

Определите, может ли ферзь попасть с первой клетки на вторую одним ходом

22.02.2016, 16:33. Показов 6333. Ответов 5
Метки нет (Все метки)

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

Входные данные
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.

Выходные данные
Программа должна вывести YES, если из первой клетки ходом ферзя можно попасть во вторую или NO в противном случае.

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

выходные данные
YES
входные данные
1
1
2
3
выходные данные
NO
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2016, 16:33
Ответы с готовыми решениями:

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

Определите, может ли шахматный король попасть с первой клетки на вторую за один ход
Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер...

Может ли ферзь попасть с первой клетки на вторую одним ходом
Доброго времени суток! Условие задачи следующее:Шахматный ферзь ходит по диагонали, горизонтали...

Определить, может ли ферзь попасть с первой клетки на вторую одним ходом
Всем привет Начал изучать питон Засел на задачке про ферзя, условие такие: "Шахматный ферзь...

5
3405 / 1824 / 489
Регистрация: 28.02.2015
Сообщений: 3,697
22.02.2016, 17:15 2
Лучший ответ Сообщение было отмечено Varitan как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  a,b,c,d:integer;
begin
  repeat
    write('Enter x1:');
    readln(a)
  until a in[1..8];
  repeat
    write('Enter y1:');
    readln(b)
  until b in[1..8];
  repeat
    write('Enter x2:');
    readln(c)
  until c in[1..8];
  repeat
    write('Enter y2:');
    readln(d)
  until d in[1..8];
  write('Result:',((a-c)=0)or((b-d)=0)or(abs(a-c)=abs(b-d)));
end.
Код выводит истина(YES)/ложь(NO).

Добавлено через 12 минут
Исправил ошибку.
2
Модератор
Эксперт по электронике
8340 / 4234 / 1605
Регистрация: 01.02.2015
Сообщений: 13,185
Записей в блоге: 5
22.02.2016, 17:19 3
Лучший ответ Сообщение было отмечено Varitan как решение

Решение

А ещё одна диагональ?
(a+b)=(c+d)
(a-b)=(c-d)

Только проверка без abs
1
3405 / 1824 / 489
Регистрация: 28.02.2015
Сообщений: 3,697
22.02.2016, 17:27 4
Лучший ответ Сообщение было отмечено Varitan как решение

Решение

ФедосеевПавел,
с abs обе диагонали проверяются.
2
Модератор
Эксперт по электронике
8340 / 4234 / 1605
Регистрация: 01.02.2015
Сообщений: 13,185
Записей в блоге: 5
22.02.2016, 19:05 5
Лучший ответ Сообщение было отмечено Varitan как решение

Решение

Точно, как я не сообразил! Проверяется |Δx| = |Δy|
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7539 / 4399 / 2785
Регистрация: 22.11.2013
Сообщений: 12,605
Записей в блоге: 1
26.02.2016, 09:56 6
В сухом остатке:
Pascal
1
2
3
4
5
6
const NoYes: array [Boolean] of String[3] = ('NO','YES');
var a, b, c, d: Integer;
begin
  Read(a,b,c,d);
  WriteLn(NoYes[(a-c=0) or (b-d=0) or (abs(a-c)=abs(b-d))]);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2016, 09:56
Помогаю со студенческими работами здесь

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

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

Определить может ли конь попасть с первой клетки на вторую одним ходом?
Добрый день. Задача: Шахматный конь ходит буквой “Г” — на две клетки по вертикали в любом...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru