Codeforces--400A--Inna and Choose Options(模拟水题)
Inna and Choose Options
Crawling in process...
Crawling failed
Time Limit:1000MS    
Memory Limit:262144KB     
64bit IO Format:%I64d & %I64u
Description
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.
Input
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.
Output
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.
Sample Input
4
OXXXOXOOXOOX
OXOXOXOXOXOX
XXXXXXXXXXXX
OOOOOOOOOOOO
3 1x12 2x6 4x3
4 1x12 2x6 3x4 6x2
6 1x12 2x6 3x4 4x3 6x2 12x1
0
将12张卡片分成矩阵,如果矩阵中有一列全都是X就输出这种排列方式,输出方式看样例,这里要注意输出的是x是小写的,还有对应关系,因为这还wa了两次
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
char str[15];
int vis[15];
memset(vis,0,sizeof(vis));
memset(str,'\0',sizeof(str));
cin>>str;
int ans=0,cnt=0;
for(int i=0;i<12;i++)
if(str[i]=='X')
cnt++;
if(cnt==0)
cout<<0<<endl;
else
{
vis[0]=1;
ans++; int f=false;
for(int i=0;i<6;i++)//2*6
if(str[i]=='X'&&str[i+6]=='X')
f=true;
if(f)
vis[1]=1,ans++; f=false;
for(int i=0;i<3;i++)//4*3
if(str[i]=='X'&&str[i+3]=='X'&&str[i+6]=='X'&&str[i+9]=='X')
f=true;
if(f)
vis[2]=1,ans++; f=false;
for(int i=0;i<4;i++)//3*4
if(str[i]=='X'&&str[i+4]=='X'&&str[i+8]=='X')
f=true;
if(f)
vis[3]=1,ans++; f=false;
for(int i=0;i<2;i++)//6*2
if(str[i]=='X'&&str[i+2]=='X'&&str[i+4]=='X'&&str[i+6]=='X'&&str[i+8]=='X'&&str[i+10]=='X')
f=true;
if(f)
vis[4]=1,ans++;
if(cnt==12) ans++;
printf("%d",ans);
if(vis[0]) printf(" 1x12");
if(vis[1]) printf(" 2x6");
if(vis[3]) printf(" 3x4");
if(vis[2]) printf(" 4x3");
if(vis[4]) printf(" 6x2");
if(cnt==12) printf(" 12x1");
printf("\n");
}
}
return 0;
}
Codeforces--400A--Inna and Choose Options(模拟水题)的更多相关文章
- CodeForces 400A Inna and Choose Options
		Inna and Choose Options Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on Cod ... 
- 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 689A  Mike and Cellphone (模拟+水题)
		Mike and Cellphone 题目链接: http://acm.hust.edu.cn/vjudge/contest/121333#problem/E Description While sw ... 
- 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
		A. Inna and Choose Options time limit per test 1 second memory limit per test 256 megabytes input st ... 
- HDOJ 2317. Nasty Hacks 模拟水题
		Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ... 
- POJ 2014:Flow Layout 模拟水题
		Flow Layout Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3091 Accepted: 2148 Descr ... 
- codeforces Gym 100187L L. Ministry of Truth 水题
		L. Ministry of Truth Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/p ... 
- Codeforces Round #185 (Div. 2) B. Archer 水题
		B. Archer Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/312/problem/B D ... 
随机推荐
- Java编辑编译及运行环境
			Java编辑编译及运行环境 Microsoft Windows 编辑工具 EditPlus JDK JDK(Java Development Kit,Java开发工具包)安装JDK之后,其中bin文件 ... 
- Rsync远程同步工具使用
			rsync远程同步工具使用 Rsync(remote synchronize) 是一个远程数据同步工具,可以使用"Rsync算法"同步本地和远程主机之间的文件.Rsync的好处是只 ... 
- chrome浏览器安装网页测试插件postman的图文介绍
			用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介绍的这款网页调试工具不仅可以 ... 
- jmeter录制火狐浏览器
			昨天看youtube,居然发现有这功能,啊哈哈 听不懂英语 也能有收获. 一.Jmeter 文件中选择Templates->Recording 二.创建之后,自动出现一个模板: 1. Threa ... 
- python3.3+selenium
			1.查看C:\Python33\Scripts下已经有了easy_install.exe; 2.从这里下载pip tar.gz,并解压到C盘,https://pypi.python.org/pypi/ ... 
- BZOJ 3894 Luogu P4313 文理分科 (最小割)
			题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?id=3894 (luogu) https://www.luogu.org/pro ... 
- poj3352
			Road Construction Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7980 Accepted: 4014 Des ... 
- noip模拟赛 whzzt-Confidence
			分析:做着感觉像脑筋急转弯一样......因为空间的限制,存不下每一个数,所以用数学方法来解. 设t1=Σai - Σbi = aj - bj,t2=Σi*ai - Σi*bi = j*(aj - b ... 
- codeforces  371c
			#include<stdio.h> int main() { char s[200]; __int64 r,nb,ns,nc,pb,ps,pc,i,sum,tob,tos,toc; wh ... 
- [USACO09JAN]全流Total Flow
			题目描述 Farmer John always wants his cows to have enough water and thus has made a map of the N (1 < ... 
