VM 12 Bài 01 - Raldono và những tấm thẻ

Xem dạng PDF

Gửi bài giải

Điểm: 1,48 (OI)
Giới hạn thời gian: 0.9s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Nguyễn Tấn Sỹ Nguyên
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Như vậy là chỉ còn một tuần nữa, quả bóng Tango 12 sẽ bắt đầu lăn trên các sân cỏ Poland và Ukraine, 2 quốc gia đăng cai tổ chức EURO 2012 - ngày hội bóng đá được mong chờ nhất trong năm nay. Trong bầu không khí đang nóng dần lên từng ngày này, EURO 2012 đã được rất nhiều doanh nghiệp chọn làm chủ đề cho các chương trình khuyến mãi hay sự kiện với mục đích thu hút sự quan tâm từ lực lượng đông đảo fan hâm mộ môn thể thao vua. Do đó, các nhà tổ chức kì thi Virtual Marathon 2012 (VM12) quyết định treo giải thưởng một cặp vé xem trận chung kết dành cho đội vô địch kì thi này. Đội của Raldono và Balitello, hai nhân vật chính của chúng ta hôm nay, dù đã cố gắng hết sức nhưng đành dừng bước ở vị trí thứ 7, nhận được giải khuyến khích cùng một phần quà từ ban tổ chức.

Phần quà là ~T~ tấm poster hình chữ nhật, mỗi tấm được chia ra thành ~M \times N~ ô vuông nhỏ (kích thước ~M, N~ cho các tấm poster có thể khác nhau). Trong đó, mỗi ô là một tấm thẻ sưu tập hình các cầu thủ nổi tiếng. Raldono quyết định chia các tấm thẻ cho hai người theo cách sau. Ban đầu mỗi người sẽ chọn tất cả tấm thẻ có hình cầu thủ mình yêu thích, sau đó những tấm thẻ còn lại trên poster sẽ được chia ngẫu nhiên. Balitello lại muốn sau khi chia xong các tấm thẻ, nếu cắt ra 1 hình vuông bất kì (có các cạnh song song với cạnh của poster) từ tấm poster thì chênh lệch số thẻ được chia cho mỗi người trong hình vuông đó không vượt quá ~2~.

image

Ví dụ trong hình trên, những tấm thẻ Raldono chọn là ô màu vàng, Balitello chọn là ô màu xanh thì 2 cách chia đầu là hợp lệ, 2 cách chia sau là không hợp lệ (những hình vuông được viền đỏ không thỏa yêu cầu).

Với mỗi tấm poster, cho biết những tấm thẻ có hình cầu thủ yêu thích của mỗi người, hãy giúp Raldono và Balitello đếm xem có tất cả bao nhiêu cách chia các tấm thẻ trên tấm poster đó thỏa yêu cầu của cả hai đặt ra.

Input

Dòng 1 ghi số ~T~, số tấm poster ~(1 \leq T \leq 1000)~.

Tiếp theo là ~T~ bộ test, mỗi bộ được mô tả như sau:

  • Dòng đầu ghi số ~M~ và ~N~ ~(1 \leq M, N \leq 5)~.

  • Dòng thứ ~i~ trong ~M~ dòng tiếp theo gồm ~N~ kí tự, kí tự thứ ~j~ mô tả tấm thẻ ở hàng ~i~ cột ~j~ của tấm poster ('R' nếu chứa hình cầu thủ Raldono yêu thích, 'B' nếu chứa hình cầu thủ Balitello yêu thích, '.' là những tấm thẻ sẽ được chia ngẫu nhiên).

Output

Xuất ra ~T~ dòng, mỗi dòng chứa kết quả là số cách chia cho tấm poster tương ứng.

Sample Input

5
2 2
BR
RB
4 4
..RR
.BRR
.BB.
....
2 3
...
BBR
3 3
BBB
BR.
...
3 3
...
.R.
...

Sample Output

1
0
6
3
102

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.