Codeforces Round #234 (Div. 2) A. Inna and Choose Options
1 second
256 megabytes
standard input
standard output
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.
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.
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 axb.
Print the pairs in the order of increasing first parameter (a). Separate the pairs in the line by whitespaces.
4
OXXXOXOOXOOX
OXOXOXOXOXOX
XXXXXXXXXXXX
OOOOOOOOOOOO
3 1x12 2x6 4x3
4 1x12 2x6 3x4 6x2
6 1x12 2x6 3x4 4x3 6x2 12x1
0
题目大意:将12张卡片排成12*1 或2*6 3*4 4*3 6*2 12*1的矩形 要求至少有一列全为X
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n,i,j,k,b[6];
char a[105];
while(cin>>n)
{
while(n--)
{
int y=0,e=0,s=0,si=0,se=0,l=0;
memset(b,0,sizeof b);
cin>>a;
for(i=0;i<12;i++)
{
if(a[i]=='X')
b[0]=1;
if(a[i]=='X'&&a[i+6]=='X')
b[1]=1;
if(a[i]=='X'&&a[i+4]=='X'&&a[i+8]=='X')
b[2]=1;
if(a[i]=='X'&&a[i+3]=='X'&&a[i+6]=='X'&&a[i+9]=='X')
b[3]=1;
if(a[i]=='X'&&a[i+2]=='X'&&a[i+4]=='X'&&a[i+6]=='X'&&a[i+8]=='X'&&a[i+10]=='X')
b[4]=1;
}
int sum=0;
for(i=0;i<12;i++)
if(a[i]=='X')
sum++;
if(sum==12)
b[5]=1;
int cas=0;
for(i=0;i<6;i++)
if(b[i])
cas++;
if(b[0])
{ cout<<cas<<" "<<"1x12";
if(b[1])
cout<<" "<<"2x6";
if(b[2])
cout<<" "<<"3x4";
if(b[3])
cout<<" "<<"4x3";
if(b[4])
cout<<" "<<"6x2";
if(b[5])
cout<<" "<<"12x1";
cout<<endl; }
else
cout<<"0"<<endl; }
} return 0;
}
Codeforces Round #234 (Div. 2) A. Inna and Choose Options的更多相关文章
- Codeforces Round #234 (Div. 2) A. Inna and Choose Options 模拟题
A. Inna and Choose Options time limit per test 1 second memory limit per test 256 megabytes input st ...
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies
B. Inna and New Matrix of Candies time limit per test 1 second memory limit per test 256 megabytes i ...
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies SET的妙用
B. Inna and New Matrix of Candies time limit per test 1 second memory limit per test 256 megabytes i ...
- Codeforces Round #234 (Div. 2) :A. Inna and Choose Options
A. Inna and Choose Options time limit per test 1 second memory limit per test 256 megabytes input st ...
- Codeforces Round #234 (Div. 2)
A. Inna and Choose Options time limit per test 1 second memory limit per test 256 megabytes input st ...
- Codeforces Round #234 (Div. 2):B. Inna and New Matrix of Candies
B. Inna and New Matrix of Candies time limit per test 1 second memory limit per test 256 megabytes i ...
- Codeforces Round #229 (Div. 2) C. Inna and Candy Boxes 树状数组s
C. Inna and Candy Boxes Inna loves sweets very much. She has n closed present boxes lines up in a ...
- Codeforces Round #220 (Div. 2) D - Inna and Sequence
D - Inna and Sequence 线段数维护区间有几个没有被删除的数,利用线段树的二分找第几个数在哪里,然后模拟更新就好啦. #include<bits/stdc++.h> #d ...
- CodeForces 400A Inna and Choose Options
Inna and Choose Options Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on Cod ...
随机推荐
- TensorFlow——分布式的TensorFlow运行环境
当我们在大型的数据集上面进行深度学习的训练时,往往需要大量的运行资源,而且还要花费大量时间才能完成训练. 1.分布式TensorFlow的角色与原理 在分布式的TensorFlow中的角色分配如下: ...
- Codeforces Round #438 (Div.1+Div.2) 总结
本来兴致勃勃的想乘着这一次上紫,于是很早很早的到了机房 但是好像并没有什么用,反而rating-=47 Codeforces Round #438(Div.1+Div.2) 今天就这样匆匆的总结一下, ...
- Service不完全解析
本篇的内容并不是介绍service使用方法和生命周期的,而是对其中的一些要点进行记录和分析. 我们都知道,Service是一个在后台执行的应用组件,用于在后台进行长期操作,例如进行网络事务,播放背景音 ...
- Linux下打包、压缩和解压
命令使用:tar 主选项+辅选项 压缩后文件名 要压缩的文件 -c 建立压缩文件(常用) -x 解压(常用) -t 查看压缩文件(常用) -r 向压缩文件末尾追加文件 -u 更新一个压缩包中的文 ...
- dataAdapter
public static class DataAdapter { /// <summary> /// DataRow转换成Hash对象 /// </summary> /// ...
- DBGridEh checkbox的一个问题
function TCustomDBGridEh.CheckBeginRowMoving(MouseX, MouseY: Integer; CheckInOnly: Boolean): Boolean ...
- Spring AOP理解
Spring的核心思想的IOC和AOP.最近学习AOP,对切面的学习有了进一步的认识. Spring用代理类包裹切面,把他们织入到Spring管理的bean中.也就是说代理类伪装成目标类,它会截取对目 ...
- [翻译]内存一致性模型 --- memory consistency model
I will just give the analogy with which I understand memory consistency models (or memory models, fo ...
- Http状态码大全(200、404、500等)
基本涵盖了所有问题 HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源H ...
- day06-08面向对象的三大特性
一.继承 1.1什么是继承?继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类python中类的继承分为:单继承和多继承 cl ...