เมื่อกำหนดตำแหน่งที่มีแถวของ rooks และ / หรือช่องว่างให้ส่งออกจำนวน rook การเคลื่อนไหวที่แตกต่างกันได้ rook สามารถเลื่อนไปทางซ้ายหรือขวาไปยังพื้นที่ว่างได้ แต่ไม่ใช่ไปยังที่ที่ต้องผ่าน rook อื่น เมื่อ rook เคลื่อนที่ไป rooks อื่นจะยังคงอยู่
ตัวอย่างเช่นจากตำแหน่งนี้สามารถทำได้6 การเคลื่อนไหว :
.R..RRR.
- rook แรก (ซ้ายสุด) สามารถเลื่อนไปทางซ้าย 1 ช่องหรือ 1 หรือ 2 ช่องทางด้านขวา (3 ย้าย)
- rook ถัดไปสามารถย้ายได้ 1 หรือ 2 ช่องทางซ้าย (2 ย้าย)
- rook ตัวที่สามไม่สามารถเคลื่อนที่ได้เลยเพราะมันถูกบีบระหว่าง rooks สองอัน (0 ท่า)
- โกงครั้งสุดท้ายสามารถย้าย 1 ช่องว่างด้านขวา (1 ย้าย)
โปรดทราบว่าตำแหน่งอาจไม่มีการโกงเลยหรือไม่มีการเว้นว่างเลย
อินพุต:รายการที่ไม่ว่างเปล่า (สตริง, อาร์เรย์, ฯลฯ .. ) ของ rooks และช่องว่าง คุณสามารถแทนพวกเขาเป็น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