12066. Гра


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан грає в гру Chess123. Він вирішив написати код, який визначає, чи задовольняє випадковий початковий стан умовам Chess123.

Вам дається рядок \(S\) довжиною вісім. \(S\) має рівно один \(K\) і \(Q\) і рівно два \(R\), \(B\) і \(N\). Визначте, чи задовольняє \(S\) усім наведеним нижче умовам.

  • Припустимо, що \(x\)-й і \(y\)-й (\(x<y\)) символи зліва \(S\) є \(B\); тоді \(x\) і \(y\) мають різні паритети.
  • \(K\) знаходиться між двома \(R\). Більш формально, припустимо, що \(x\)-й і \(y\)-й (\(x<y\)) символи зліва в \(S\) є \(R\), а \(z\)-ий є \(K\); тоді \(x<z<y\).

Обмеження

  • \(S\) — це рядок довжиною 8, який містить рівно один \(K\) і \(Q\) і рівно два \(R\), \(B\) і \(N\).

Формат вхідних даних

Вхідний потік містить \(S\).

Формат вихідних даних

У вихідний потік виведіть відповідь: Yes або No.

Приклад вхідних даних

RNBQKBNR

Приклад вихідних даних

Yes

3-й і 6-й символи B, і 3 і 6 мають різні паритети. Крім того, K знаходиться між двома R. Отже, умови виконано.

Приклад вхідних даних

KRRBBNNQ

Приклад вихідних даних

No

K не знаходиться між двома R.

Приклад вхідних даних

BRKRBQNN

Приклад вихідних даних

No

Коментарі

Ще немає коментарів.