Учитывая позицию с рядом ладей и / или пустых мест, выведите, сколько возможных ходов ладьи. Ладья может двигаться влево или вправо в пустое пространство, но не в ту, которая требует прохода через другую ладью. Когда ладья движется, остальные ладьи остаются на месте.
Например, из этой позиции возможно 6 ходов :
.R..RRR.
- Первый (крайний левый) ладья может переместиться на 1 пробел влево или на 1 или 2 пробела вправо (3 хода)
- Следующая ладья может двигаться только на 1 или 2 пробела влево (2 хода)
- Третья ладья не может двигаться вообще, потому что она зажата между двумя другими ладьями (0 ходов)
- Последняя ладья может двигаться только на 1 пробел вправо (1 ход)
Обратите внимание, что позиция может вообще не иметь грачей или вообще не иметь пустых мест.
Входные данные: непустой список (строка, массив и т. Д.) Грачей и пустых пространств. Вы можете представить их как True
/ False
, 1
/ 0
, 'R'
/ '.'
или любые два последовательных отдельных однобайтовых символа или однозначные числа на ваш выбор. Вам решать, что означает ладью, а что означает пустое пространство.
Выход: неотрицательное целое число. Целые числа тоже хорошо.
Контрольные примеры
Выходной это число слева.
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
2 R..
2 R.R
1 RR.
0 RRR
0 ....
3 ...R
3 ..R.
2 ..RR
3 .R..
3 .R.R
2 .RR.
1 .RRR
3 R...
4 R..R
3 R.R.
2 R.RR
2 RR..
2 RR.R
1 RRR.
0 RRRR
0 .....
4 ....R
4 ...R.
3 ...RR
4 ..R..
4 ..R.R
3 ..RR.
2 ..RRR
4 .R...
5 .R..R
4 .R.R.
3 .R.RR
3 .RR..
3 .RR.R
2 .RRR.
1 .RRRR
4 R....
6 R...R
5 R..R.
4 R..RR
4 R.R..
4 R.R.R
3 R.RR.
2 R.RRR
3 RR...
4 RR..R
3 RR.R.
2 RR.RR
2 RRR..
2 RRR.R
1 RRRR.
0 RRRRR