28
1Dのルークの動きを数える
ルークの列または空のスペース、あるいはその両方の位置が与えられた場合、いくつの異なるルークの動きが可能なかを出力します。ルークは左または右に空のスペースに移動できますが、別のルークを通過する必要があるスペースには移動できません。ルークが移動しても、他のルークはそのまま残ります。 たとえば、この位置から、6つの移動が可能です。 .R..RRR. 最初の(左端の)ルークは、左に1スペース、または右に1または2スペース移動できます(3移動) 次のルークは、左に1つまたは2つのスペースしか移動できません(2つの移動) 3番目のルークは、他の2つのルークの間で圧迫されているため、まったく移動できません(0移動) 最後のルークは右に1スペースしか移動できません(1移動) ポジションにはルークがまったくないか、空のスペースがまったくないことに注意してください。 入力:ルークと空のスペースの空ではないリスト(文字列、配列など)。それらは、True/ False、1/ 0、'R'/ '.'、または任意の2つの一貫した異なるシングルバイト文字または1桁の数字として表すことができます。どれがルークを意味し、どれが空きスペースを意味するかはあなた次第です。 出力:負でない整数。整数の浮動小数点数でも問題ありません。 テストケース 出力は左側の数字です。 6 .R..RRR. 0 . 0 R 4 R..RR 3 ...R 8 ..R..R.. 0 ...... より多くのテストケースについては、長さ5までのすべての入力があります。 0 . 0 R 0 .. 1 .R 1 R. 0 RR 0 ... 2 ..R 2 .R. 1 .RR …