CodeForces 400A(Inna and Choose Options)
来源:互联网 发布:知乎广告在哪里看 编辑:程序博客网 时间:2024/04/29 20:05
点击打开链接
这个题考什么呢,事实上啥也没考,只要会C语言就能做,数据量极小,典型的瞎搞搞题目。
之前觉得写if语句,可能导致程序太臃肿,所以后面搞了几个for循环,然后在用一个flag标志量,再break几下,结果呢。把程序搞的很复杂。事实上用if语句还是很不错的。一共要写6组。每一组的长度都差不多。
不多说了,代码:
#include <iostream>#include <string.h>using namespace std;char a[15];int num[15];//如果值为1表明存在这种情况int main(){ int t,ans,flag;//flag作为标志量 cin>>t; while(t--) { cin>>a; memset(num,0,sizeof(num));//每输一次都要初始化一次,被坑了 ans=0; for(int i=0;i<=11;i++)//至少有一个的情况,这是1x12 { if(a[i]=='X') { ans++;//总数加1 num[1]=1; break; } } //这是2x6的情况 if((a[0]==a[6]&&a[0]=='X')||(a[1]==a[7]&&a[1]=='X')||(a[2]==a[8]&&a[2]=='X')||(a[3]==a[9]&&a[3]=='X')||(a[4]==a[10]&&a[4]=='X')||(a[5]==a[11]&&a[5]=='X')) { ans++; num[2]=1; } flag=0; //这是3x4 for(int i=0;i<=3;i++) { if(a[i]=='X') { for(int j=1;j<=2;j++) { if(a[i]==a[i+4*j]) flag=1; else { flag=0; break; } } } if(flag==1) break; } if(flag==1) { ans++; num[3]=1; } //这是4x3 flag=0; for(int i=0;i<=2;i++) { if(a[i]=='X') { for(int j=1;j<=3;j++) { if(a[i]==a[i+3*j]) flag=1; else { flag=0; break; } } } if(flag==1) break; } if(flag==1) { ans++; num[4]=1; } //这是6x2 flag=0; for(int i=0;i<=1;i++) { if(a[i]=='X') { for(int j=1;j<=5;j++) { if(a[i]==a[i+2*j]) flag=1; else { flag=0; break; } } } if(flag==1) break; } if(flag==1) { ans++; num[6]=1; } flag=0; //这是12x1 if(a[0]=='X') { for(int i=0;i<=10;i++) { if(a[0]==a[i+1]) flag=1; else { flag=0; break; } } } if(flag==1) { ans++; num[12]=1; } //最后的结果 cout <<ans<<" "; for(int i=0;i<=12;i++) if(num[i]!=0) cout<<i<<'x'<<12/i<<" "; cout<<endl; } return 0;}
1 0
- codeforces 400A - Inna and Choose Options
- Codeforces 400A Inna and Choose Options
- CodeForces 400A Inna and Choose Options
- Codeforces 400A Inna and Choose Options
- CodeForces 400A Inna and Choose Options
- CodeForces 400A Inna and Choose Options
- Codeforces 400 A. Inna and Choose Options
- Codeforces 400A Inna and Choose Options(暴力)
- CodeForces 400A(Inna and Choose Options)
- Codeforces 400A Inna and Choose Options 【水题】
- CF 400A - Inna and Choose Options
- Codeforence 400 A. Inna and Choose Options
- codeforces Inna and Choose Options
- codeforces 400A. Inna and Choose Options(题目不难,但是得读懂题目让干什么)
- Codeforces--400A--Inna and Choose Options(模拟水题)
- A. Inna and Choose Options
- A. Inna and Choose Options
- A - Inna and Choose Options
- 新工作前夕
- 经典数据结构和算法回顾
- 进程的虚拟地址空间
- 安卓支付之ping++开发
- iOS UIWebView
- CodeForces 400A(Inna and Choose Options)
- 【SCOI2005】【BZOJ1088】扫雷Mine
- 最长上升子序列O(n^2)
- C语言之 switch循环
- Python学习笔记(二)
- Animation动画视图
- 大数的阶乘
- 如何在CSDN博客中的所贴的代码进行【代码块】显示
- JavaScript DOM对象控制HTML元素详解