CF400A.Inna and Choose Options

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There always is something to choose from! And now, instead of "Noughts and Crosses", Inna choose a very unusual upgrade of this game. The rules of the game are given below:

There is one person playing the game. Before the beginning of the game he puts 12 cards in a row on the table. Each card contains a character: "X" or "O". Then the player chooses two positive integers a and b (a·b = 12), after that he makes a table of size a × b from the cards he put on the table as follows: the first b cards form the first row of the table, the second b cards form the second row of the table and so on, the last b cards form the last (number a) row of the table. The player wins if some column of the table contain characters "X" on all cards. Otherwise, the player loses.

Inna has already put 12 cards on the table in a row. But unfortunately, she doesn't know what numbers a and b to choose. Help her win the game: print to her all the possible ways of numbers a, b that she can choose and win.

总有一些选择!现在,英娜没有玩“圈圈叉叉”(井字棋),而是选择了一种非常特别的升级版游戏。游戏规则如下:

仅有一人参与游戏。游戏开始前,他在桌上横向摆放了 12 张卡片。每张卡片上印有一个字符:“X” 或 “O”。接着,玩家需选择两个正整数 aa 和 bb(满足 a⋅b=12a \cdot b = 12),然后将桌上已排好的卡片按如下方式构造成一个 a×ba \times b 的表格:前 bb 张卡片构成表格的第一行,接下来的 bb 张卡片构成第二行,依此类推,最后的 bb 张卡片构成最后一行(即第 aa 行)。若该表格中存在某一列,其所有卡片上的字符均为 “X”,则玩家获胜;否则,玩家失败。

英娜已经在桌上横向摆放好了这 12 张卡片。但遗憾的是,她尚不清楚应选择哪些数对 aa、bb 才能获胜。请帮她赢得游戏:输出所有能使她获胜的可能的数对 (a, b)(a,\,b)。

输入格式

The first line of the input contains integer t (1 ≤ t ≤ 100). This value shows the number of sets of test data in the input. Next follows the description of each of the t tests on a separate line.

The description of each test is a string consisting of 12 characters, each character is either "X", or "O". The i-th character of the string shows the character that is written on the i-th card from the start.

输入的第一行包含一个整数 tt(1≤t≤1001 \leq t \leq 100),表示输入中测试数据组的数量。接下来每行分别描述一组测试数据。

每组测试数据由一个长度为 12 的字符串组成,字符串中的每个字符均为 "X" 或 "O"。该字符串的第 ii 个字符表示从左往右数第 ii 张卡片上所写的字符。

输出格式

For each test, print the answer to the test on a single line. The first number in the line must represent the number of distinct ways to choose the pair a, b. Next, print on this line the pairs in the format a_x_b. Print the pairs in the order of increasing first parameter (a). Separate the pairs in the line by whitespaces.

对于每个测试用例,在一行中输出该测试用例的答案。该行的第一个数字表示选择数对 a, ba,\,b 的不同方案数。接着,在该行中以格式 a_x_ba\_x\_b 输出这些数对,按第一个参数 aa 的升序排列。数对之间用空格分隔。

输入输出样例

  • 输入#1

    4
    OXXXOXOOXOOX
    OXOXOXOXOXOX
    XXXXXXXXXXXX
    OOOOOOOOOOOO

    输出#1

    3 1x12 2x6 4x3
    4 1x12 2x6 3x4 6x2
    6 1x12 2x6 3x4 4x3 6x2 12x1
    0

输入解题思路,AI测评打分。不知道怎么写?

首页