Подборка задач с решениями - 9

  • Категория: Python
  • Дата публикации: 2021-12-28
  • Опубликовано на сайте: Stepik

Задача 1:

Заданы две клетки шахматной доски. Напишите программу, которая определяет имеют ли указанные клетки один цвет или нет. Если они покрашены в один цвет, то выведите слово «YES», а если в разные цвета — то «NO».

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

Решение 1:

x1, x2, y1, y2 = [int(input()) for _ in range(4)]
print('YES' if (x1 + y1 + x2 + y2) % 2 == 0 else 'NO')

Решение 2:

print("YES" if not sum(int(input()) for i in "1234") % 2 else "NO")

Задача 2 - "Ход слона":

Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли слон попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом слона можно попасть во вторую или «NO» в противном случае.

Формат входных данных На вход программе подаётся четыре числа от 1 до 8.

Формат выходных данных Программа должна вывести текст в соответствии с условием задачи.

Примечание. Шахматный слон ходит по диагоналям.

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

x1, x2, y1, y2 = [int(input()) for _ in range(4)]
if (x2 - x1) ** 2 == (y2 - y1) ** 2:
    print('YES')
else:
    print('NO')

Задача 3 - "Ход коня":

Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли конь попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом коня можно попасть во вторую или «NO» в противном случае.

Формат входных данных На вход программе подаётся четыре числа от 1 до 8.

Формат выходных данных Программа должна вывести текст в соответствии с условием задачи.

Примечание. Шахматный конь ходит буквой «Г».

Решение:

Все решения теперь можно найти в сообществе Как войти в IT

x1, x2, y1, y2 = [int(input()) for _ in range(4)]
if (abs(x2 - x1) == 1 and abs(y2 - y1) == 2) or (abs(x2 - x1) == 2 and abs(y2 - y1) == 1):
    print('YES')
else:
    print('NO')

Задача 4 - "Ход ферзя":

Даны две различные клетки шахматной доски. Напишите программу, которая определяет, может ли ферзь попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом ферзя можно попасть во вторую или «NO» в противном случае.

Формат входных данных На вход программе подаётся четыре числа от 1 до 8.

Формат выходных данных Программа должна вывести текст в соответствии с условием задачи.

Примечание. Шахматный ферзь ходит по диагонали, горизонтали или вертикали.

Решение 1:

x1, x2, y1, y2 = [int(input()) for _ in range(4)]
if (x1 == x2 and y1 != y2) or (x1 != x2 and y1 == y2) or (abs(x1 - x2) == abs(y1 - y2)):
    print('YES')
else:
    print('NO')

Решение 2:

x1, x2, y1, y2 = [int(input()) for _ in range(4)]
if abs(x1 - x2) == abs(y1 - y2) or x1 == x2 or y1 == y2:
    print('YES')
else:
    print('NO')