codeforces837B Flag on Berland
来源:互联网 发布:淘宝游戏专营怎么进入 编辑:程序博客网 时间:2024/06/16 11:25
非常蛋疼的一道模拟……昨天调试写的文件输出没改结果没有过orz
题意大概是这样的:有一个国旗,由三种颜色’R”G”B’构成,要求这三种颜色将国旗分为等宽的3条,这些条可以是横的,可以是竖的,输入长、宽和国旗形状问是否满足。
那么我们可以分四种情况讨论:长宽都不是3的倍数,则一定不满足;长是3的倍数而宽不是,则从长判断;宽是而长不是,则从宽判断;长宽都是,那就分别立两个flag判断。判断方法大同小异,所以我写了个比较臃肿的代码。
#include <bits/stdc++.h>using namespace std;#define MAXN 103char a[MAXN][MAXN];int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;++i) for(int j=1;j<=m;++j) cin>>a[i][j]; if(n%3!=0&&m%3!=0){ cout<<"No"<<endl; } else if(n%3==0&&m%3!=0){ int p=n/3; for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ if(j>1) if(a[i][j]!=a[i][j-1]){//每一横条相等 cout<<"No"<<endl; return 0; } if(i%p!=1&&p!=1) if(a[i][j]!=a[i-1][j]){//相邻n/3个竖条相等 cout<<"No"<<endl; return 0; } } } cout<<"Yes"<<endl; } else if(n%3!=0&&m%3==0){ int p=m/3; for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ if(i>1) if(a[i][j]!=a[i-1][j]){ cout<<"No"<<endl; return 0; } if(j%p!=1&&p!=1) if(a[i][j]!=a[i][j-1]){ cout<<"No"<<endl; return 0; } } } cout<<"Yes"<<endl; } else{ int p=n/3,q=m/3; bool flag1=true,flag2=true; for(int i=1;i<=n;++i){ for(int j=1;j<=m;++j){ if(flag1&&j>1) if(a[i][j]!=a[i][j-1]){ flag1=false; } if(flag1&&i%p!=1&&p!=1) if(a[i][j]!=a[i-1][j]){ flag1=false; } if(flag2&&i>1) if(a[i][j]!=a[i-1][j]){ flag2=false; } if(flag2&&j%q!=1&&q!=1) if(a[i][j]!=a[i][j-1]){ flag2=false; } if((!flag1)&&(!flag2)){ cout<<"No"<<endl; return 0; } } } cout<<"Yes"<<endl; } return 0; }
果然模拟超级锻炼代码能力啊orz
阅读全文
0 0
- codeforces837B Flag on Berland
- Berland Flag
- CF Flag of Berland
- codeforces 837B Flag of Berland
- Educational Codeforces Round 26:B. Flag of Berland
- Educational Codeforces Round 26 B. Flag of Berland
- codeforce 837B Flag of Berland(矩形判断)
- FLag
- Flag
- flag
- flag
- flag
- FLAG
- Flag
- Flag
- FLAG
- Flag
- flag
- zigbee 绑定表
- Visual Studio代码缩进快捷键
- 【Docker】docker创建单机版的solr和IKAnalyzer的集成
- JQuery中on和click的区别
- Vim 实用技巧,一些自己常用到的命令
- codeforces837B Flag on Berland
- 从朋友圈一道小学试题想到的
- Java中子类能够继承父类的private属性或方法吗?
- Curling 2.0 (深搜)
- Map的几种遍历
- java中list的遍历,交集,并集,差集,去重,contains(),indexof,.lastIndexOf
- 微信网页版弹窗实现
- OpenCV学习之寻找轮廓实现视频流的运动目标检测
- 35. Search Insert Position