atcoder#ABC297B. [ABC297B] chess960
[ABC297B] chess960
配点 : 点
問題文
高橋君は chess960 と呼ばれるゲームで遊んでいます。 高橋君はランダムに決めた初期配置が chess960 の条件を満たすか確認するプログラムを書くことにしました。
長さ の文字列 が与えられます。 には
K
,Q
がちょうど 文字ずつ、R
,B
,N
がちょうど 文字ずつ含まれます。 が以下の条件を全て満たしているか判定してください。
- において左から 文字目が
B
であるとする。このとき と の偶奇が異なる。 K
は つのR
の間にある。より形式的には、 において左から 文字目がR
であり、 文字目がK
であるとする。このとき、 が成り立つ。
制約
- は 長さ の文字列であり、
K
,Q
がちょうど 文字ずつ、R
,B
,N
がちょうど 文字ずつ含まれる。
入力
入力は以下の形式で標準入力から与えられる。
出力
が条件を満たす場合 Yes
を、そうでない場合 No
を出力せよ。
RNBQKBNR
Yes
B
は左から 番目、 番目にあり、 と は偶奇が異なります。
また、K
は つの R
の間にあります。よって条件を満たします。
KRRBBNNQ
No
K
は つの R
の間にありません。
BRKRBQNN
No