Advertisement
stuzer

Ход короля python

Jan 22nd, 2022
923
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Ход короля 🌶️
  2. Даны две различные клетки шахматной доски. Напишите программу,  которая определяет, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести «YES», если из первой клетки ходом короля можно попасть во вторую, или «NO» в противном случае.
  3.  
  4. Формат входных данных
  5. На вход программе подаётся четыре числа от 1 до 8.
  6.  
  7. Формат выходных данных
  8. Программа должна вывести текст в соответствии с условием задачи.
  9.  
  10. Примечание. Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку.
  11.  
  12. Решения:
  13. a, b, c, d = int(input()), int(input()), int(input()), int(input())
  14. if (-1 <= a - c <= 1) and (-1 <= b - d <= 1):
  15.     print('YES')
  16. else:
  17.     print('NO')
  18.  
  19. Альтернативное с форума
  20. a = int(input())
  21. b = int(input())
  22. a1 = int(input())
  23. b1 = int(input())
  24. if 1 <= a <= 8 and 1 <= b <= 8:
  25.     if a == b == 1:
  26.         if a1 == 2 and b1 == 1 or a1 == 2 and b1 == 2 or a1 == 1 and b1 == 2:
  27.             print('YES')
  28.         else: print('NO')
  29.     elif a == 8 and b == 1:
  30.         if a1 == 7 and b1 == 1 or a1 == 7 and b1 == 2 or a1 == 8 and b1 == 2:
  31.             print('YES')
  32.         else: print('NO')
  33.     elif a == 1 and b == 8:
  34.         if a1 == 1 and b1 == 7 or a1 == 2 and b1 == 8 or a1 == 2 and b1 == 7:
  35.             print('YES')
  36.         else: print('NO')            
  37.     elif a == b == 8:
  38.         if a1 == 7 and b1 == 8 or a1 == 8 and b1 == 7 or a1 == b1 == 7:
  39.             print('YES')
  40.         else: print('NO')
  41.     elif 2 <= a <= 7 and b == 1:
  42.         if a1 == a - 1 and b1 == b or a1 == a + 1 and b1 == b or a1 == a - 1 and b1 == b + 1 or a1 == a and b1 == b + 1 or a1 == a + 1 and b1 == b + 1:
  43.             print('YES')
  44.         else: print('NO')
  45.     elif a == 1 and 2 <= b <= 7:
  46.         if a1 == a and b1 == b - 1 or a1 == a and b1 == b + 1 or a1 == a + 1 and b1 == b - 1 or a1 == a + 1 and b1 == b or a1 == a + 1 and b1 == b + 1:
  47.             print('YES')
  48.         else: print('NO')
  49.     elif 2 <= a <= 7 and b == 8:
  50.         if a1 == a - 1 and b1 == b or a1 == a + 1 and b1 == b or a1 == a - 1 and b1 == b - 1 or a1 == a and b1 == b - 1 or a1 == a + 1 and b1 == b - 1:
  51.             print('YES')
  52.         else: print('NO')
  53.     elif a == 8 and 2 <= b <= 7:
  54.         if a1 == a and b1 == b - 1 or a1 == a and b1 == b + 1 or a1 == a - 1 and b1 == b - 1 or a1 == a - 1 and b1 == b or a1 == a - 1 and b1 == b + 1:
  55.             print('YES')
  56.         else: print('NO')    
  57.     elif 2 <= a <= 7 and 2 <= b <= 7:
  58.         if a - 1 <= a1 <= a + 1 and b - 1 <= b1 <= b + 1:
  59.             print('YES')
  60.         else: print('NO')                
  61. else:
  62.     print('NO')
  63.  
  64. # https://stepik.org/lesson/265083/step/15?discussion=3011400&reply=4853812&thread=solutions&unit=246031
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement