Codeforces Round #234A
2018-06-17 23:39:12来源:未知 阅读 ()
Inna and choose option
一个由12个字符('O'或'X')组成的字符串,这12个字符可以排列成a*b(a*b=12)的矩阵,要求矩阵某一列都是'X'。用户输入t个字符串,都是由12个'O'或'X组成,设计函数可求解符合要求矩阵的个数,并且将符合要求的矩阵大小输出。
Input:
第一行输入一个整数t(Range:1-100),t表示要输入的测试数据的个数,下面每一行输入都是一组数据被录入。
Output:
将每组数据的结果放在一行输出,format:n axb axb axb ….
n表示满足要求的矩阵个数,后面是具体的矩阵大小。
例如:
解题思路:
可以看出矩阵个数最大为6,分别是(1,12)(2,6)(3,4)(4,3)(6,2)(12,1),将这些情况枚举出来,然后for循环判断矩阵的每一列,若有一列满足条件(全为'X'),那么将这个矩阵行数列数分别保存到一个6行2列的数组的第一行,k来计数,最后k中存的就是满足条件的矩阵个数,数组里面前k行存的就是具体大小。
代码:
1 #include <iostream> 2 using namespace std; 3 #include <string> 4 #define MAX 100 5 6 7 int main(void) 8 { 9 string s[MAX]; 10 int t; 11 void inna(string card); 12 cin >> t; 13 for(int i=0;i<t;i++) 14 { 15 cin >> s[i]; 16 } 17 18 for(int i=0;i<t;i++) 19 { 20 inna(s[i]); 21 } 22 return 0; 23 } 24 25 void inna(string card) 26 { 27 int i,j,k=0,m; 28 bool flag = true; 29 int a[6] = {1,2,3,4,6,12}; // 行数有六中情况 30 int b[6] = {12,6,4,3,2,1}; // 列数 31 int n[6][2]; 32 33 if(card == "OOOOOOOOOOOO") // 12张卡片全为o 34 { 35 cout << k << endl; 36 return; // 结束函数体 37 } 38 39 for(i=0;i<6;i++) // i表示行数 40 { 41 for(j=0;j<b[i];j++) 42 { 43 flag = true; 44 for(m=0;m<a[i];m++) 45 { 46 if(card[j+m*b[i]]!='X') 47 { 48 flag = false; 49 break; 50 } 51 } 52 53 if(flag) 54 { 55 n[k][0] = a[i]; 56 n[k][1] = b[i]; 57 k++; 58 break; 59 } 60 } 61 } 62 63 cout << k << ' '; 64 for(i=0;i<k;i++) 65 { 66 cout << n[i][0] << 'x' << n[i][1] << ' '; 67 } 68 cout << endl; 69 }
测试结果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- CodeForces 1326E - Bombs 2020-03-25
- CodeForces 1320D - Reachable Strings 2020-03-20
- CodeForces 1324 - Codeforces Round #627 (Div. 3) 2020-03-13
- CodeForces 710D Two Arithmetic Progressions 2020-03-06
- CodeForces 1313D Happy New Year 2020-03-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash