Враховуючи позицію з рядом граків та / або порожніх пробілів, виведіть, скільки можливих різних переміщень шахрайства. Грак може переміщуватися вліво або вправо на порожнє місце, але не на той, який вимагає переходу іншого грака. Коли грак рухається, інші граки залишаються на місці.
Наприклад, з цієї позиції можливі 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