Bir dizi kale ve / veya boş boşluk içeren bir konum göz önüne alındığında, kaç değişik kale hareketi yapılabileceğini gösterir. Bir kale sola veya sağa boş bir alana doğru hareket edebilir, ancak başka bir kale üzerinden geçmeyi gerektiren birine değil. Bir kale hareket ettiğinde, diğer kale yerinde kalır.
Örneğin, bu konumdan 6 hareket mümkündür:
.R..RRR.
- İlk (en soldaki) kale, 1 boşluk sola veya 1 veya 2 boşluk sağa hareket edebilir (3 hareket)
- Bir sonraki kale sadece 1 veya 2 boşluk kaldı (2 hamle)
- Üçüncü kale hiç hareket edemez çünkü diğer iki kale arasında sıkışır (0 hamle)
- Son kale sadece 1 boşluk sağa hareket edebilir (1 hareket)
Bir pozisyonun hiç kalesi olmadığına veya hiç boş yere sahip olmadığına dikkat edin.
Giriş: Kale ve boş alanların boş olmayan bir listesi (string, array, etc. ..). Bunları True
/ False
, 1
/ 0
, 'R'
/ '.'
veya herhangi bir tutarlı iki ayrı tek baytlık karakter veya bir basamaklı sayılar olarak temsil edebilirsiniz. Hangisi kale, hangisi boş alan demektir.
Çıktı: Negatif olmayan bir tamsayı. Çok sayıda yüzer de iyidir.
Test durumları
Çıktı soldaki sayıdır.
6 .R..RRR.
0 .
0 R
4 R..RR
3 ...R
8 ..R..R..
0 ......
Daha fazla test durumu için, burada uzunluk 5'e kadar olan tüm girişler bulunmaktadır.
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