Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. a = [[int(j) for j in input().split()] for i in range(8)]
  2.  
  3. # Для каждой строки повторяем следующие два шага:
  4. for i in range(8):
  5.     # 1. Определяем, какой должен быть у строки цвет. Нас не интересуют вертикальные
  6.     # разноцветные кости (a[i][j] == -a[i+1][j]), потому что они могут принять
  7.     # любой цвет в строке. Любая другая кость однозначно определяет цвет всей строки.
  8.     white = black = False
  9.     for j in range(8):
  10.         if i == 7 or a[i][j] != -a[i + 1][j]:
  11.             if a[i][j] > 0:
  12.                 white = True
  13.             else:
  14.                 black = True
  15.  
  16.     # Нашли противоречивые цвета в строке - пишем NO и заканчиваем
  17.     if white and black:
  18.         print("NO")
  19.         break
  20.  
  21.     # Если не нашли противоречий до самой последней строки - победа
  22.     if i == 7:
  23.         print("YES")
  24.         break
  25.  
  26.     # 2. Переворачиваем разноцветные вертикальные кости (пропущенные на шаге 1),
  27.     # которые не соответствуют цвету текущей строки
  28.     for j in range(8):
  29.         if a[i][j] == -a[i + 1][j] and (a[i][j] > 0) == black:
  30.             a[i][j], a[i + 1][j] = a[i + 1][j], a[i][j]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement