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 ...
随机推荐
- Windows Server 2012 / 2016 安装 .Net Framework 3.5(PowerShell)
原文链接:https://www.muhanxue.com/essays/2017/04/3736598.html 问题描述 使用 Windows Server 2012 R2 或 Windows S ...
- ubantu安装jdk
环境:ubantu16.04下安装jdk1.8 1,在当前用户根目录下创建目录,本人所用的用户为bruce: mkdir /home/bruce/jdk 2,官网下载jdk1.8,网址为http:// ...
- [计蒜客] tsy's number 解题报告 (莫比乌斯反演+数论分块)
interlinkage: https://nanti.jisuanke.com/t/38226 description: solution: 显然$\frac{\phi(j^2)}{\phi(j)} ...
- PIE加载自定义服务数据详细介绍
这段时间我一直在研究如何用PIE加载在线地图服务,遇到了许多问题,多亏了技术员小姐姐的帮助,才让我能正确加载ArcGIS Online在线服务.天地图在线地图和谷歌在线地图.我是根据博客园PIE官方博 ...
- WPF MVVM 关闭窗体
由于程序采用MVVM模式同时有些操作需要单独窗口来进行处理.因此就会产生窗口关闭问题, 由于是MVVM和需要操作弹出窗口中操作的内容因此就需要在mvvm进行统一处理. 网上查了几种方法采用其中一种 不 ...
- Android之MVP架构
MVP(Model View Presenter)模式是由MVC模式发展而来的,在如今的Android程序开发中显得越来越重要.本篇文章简单讨论了MVP模式的思想. 啥是MVP MVP模式的主要思想是 ...
- Android 自定义控件——图片剪裁
如图: 思路:在一个自定义View上绘制一张图片(参照前面提到的另一篇文章),在该自定义View上绘制一个自定义的FloatDrawable,也就是图中的浮层.绘制图片和FloatDrawable的交 ...
- (转载)android开发常见编程错误总结
首页 › 安卓开发 › android开发 android开发常见编程错误总结 泡在网上的日子 / 文 发表于2013-09-07 13:07 第771次阅读 android,异常 0 编辑推荐:稀 ...
- 搭建eclipse的安卓开发环境(eclipse+jdk+adt+sdk)
学校暑期大作业让用安卓写一个app,有两种方案(android stduio+sdk和eclipse+jdk+adt+sdk)折腾了几天发现还是后者好用,但是安装环境和下载真的是去了半条命,(不过由于 ...
- JDK1.7源码阅读tools包之------ArrayList,LinkedList,HashMap,TreeMap
1.HashMap 特点:基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了非同步和允许使用 null 之外,HashMap 类与 Has ...