atcoder#ABC297B. [ABC297B] chess960

[ABC297B] chess960

题目描述

高橋君は chess960 と呼ばれるゲームで遊んでいます。 高橋君はランダムに決めた初期配置が chess960 の条件を満たすか確認するプログラムを書くことにしました。

長さ 8 8 の文字列 S S が与えられます。S S には K, Q がちょうど 1 1 文字ずつ、R, B, N がちょうど 2 2 文字ずつ含まれます。 S S が以下の条件を全て満たしているか判定してください。

  • S S において左から x,y (x < y) x,y\ (x\ <\ y) 文字目が B であるとする。このとき x x y y の偶奇が異なる。
  • K2 2 つの R の間にある。より形式的には、S S において左から x,y (x < y) x,y\ (x\ <\ y) 文字目が R であり、 z z 文字目が K であるとする。このとき、 x < z < y x\ <\ z\ <\ y が成り立つ。

输入格式

入力は以下の形式で標準入力から与えられる。

S S

输出格式

S S が条件を満たす場合 Yes を、そうでない場合 No を出力せよ。

题目大意

给定一个长度为 88 的字符串 SS,其中 RBN 各有 22 个,QK11 个 。

一个好的字符串满足两点要求:

  1. K 在两个 R 之间;

  2. 两个 B 的位置奇偶性不同。

判断 SS 是否为好的字符串,如果是则输出 Yes,否则输出 No

Translate by yanhao40340

RNBQKBNR
Yes
KRRBBNNQ
No
BRKRBQNN
No

提示

制約

  • S S は 長さ 8 8 の文字列であり、K, Q がちょうど 1 1 文字ずつ、R, B, N がちょうど 2 2 文字ずつ含まれる。

Sample Explanation 1

B は左から 3 3 番目、6 6 番目にあり、3 3 6 6 は偶奇が異なります。 また、K2 2 つの R の間にあります。よって条件を満たします。

Sample Explanation 2

K2 2 つの R の間にありません。