Inna và lựa chọn

Đề bài

Mô tả

Cho một dãy gồm 12 lá bài xếp thành một hàng. Mỗi lá bài chứa đúng một ký tự, hoặc là X hoặc là O.

Người chơi chọn hai số nguyên dương a,b thỏa mãn a·b=12, rồi xếp 12 lá bài thành một bảng kích thước a×b theo quy tắc: b lá đầu tiên tạo thành hàng thứ nhất, b lá tiếp theo tạo thành hàng thứ hai, …, b lá cuối cùng tạo thành hàng thứ a.

Người chơi thắng nếu trong bảng có ít nhất một cột mà toàn bộ các ô đều là ký tự X.

Với mỗi dãy bài cho trước, hãy in ra tất cả các cặp (a,b) mà nếu chọn thì người chơi sẽ thắng.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số bộ dữ liệu thử nghiệm.
  • Mỗi bộ tiếp theo gồm một dòng duy nhất là một xâu độ dài 12, mỗi ký tự là X hoặc O.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng:

  • Số lượng cặp (a,b) hợp lệ.
  • Tiếp theo, in ra các cặp (a,b) ấy theo thứ tự tăng dần của a, mỗi cặp được viết dưới dạng axb (ví dụ: 2x6), cách nhau bằng dấu cách.

Nếu không có cặp nào, chỉ in ra số 0.

Ràng buộc

  • 1t100
  • Xâu mô tả các lá bài có độ dài đúng 12, chỉ gồm các ký tự XO.
  • Các cặp (a,b) khả dĩ là: (1,12),(2,6),(3,4),(4,3),(6,2),(12,1).

Ví dụ

Input Output Giải thích
4
OXXXOXOOXOOX
OXOXOXOXOXOX
XXXXXXXXXXXX
OOOOOOOOOOOO
3 1x12 2x6 4x3
4 1x12 2x6 3x4 6x2
6 1x12 2x6 3x4 4x3 6x2 12x1
0
Bộ 4: không có ký tự X nào nên không cặp nào thắng. Bộ 3: toàn X nên mọi cặp đều thắng.
2
OOOOOOOOOOOO
XXXXXXXXXXXX
0
6 1x12 2x6 3x4 4x3 6x2 12x1
Tương tự ví dụ trên với hai trường hợp biên.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0