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
Коментарі