बदमाशों और / या रिक्त स्थानों की एक पंक्ति के साथ एक स्थिति को देखते हुए, आउटपुट कितने अलग-अलग रोको चाल संभव हैं। एक बदमाश खाली जगह पर बाएं या दाएं जा सकता है, लेकिन उस पर नहीं, जिसे दूसरे बदमाश के ऊपर से गुजरना पड़े। जब एक बदमाश चलता है, तो दूसरे बदमाश जगह पर रहते हैं।
उदाहरण के लिए, इस स्थिति से, 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