[51nod 1851]俄罗斯方块
2017-05-20 08:36
183 查看
题目描述
给一个黑白图,每次能将某些区域的格子黑白反转,至于某些区域的意思嘛,就是俄罗斯方块形状的区域咯(可水平翻转、上下翻转、旋转)求能否将图变成全白
结论
51nod的题解写得比较好。这里懒得写了。
#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; int s[10000000+10]; int i,j,k,l,t,n,m,tot,ca; bool czy; char ch; char get(){ char ch=getchar(); while (ch<'0'||ch>'1') ch=getchar(); return ch; } int main(){ scanf("%d",&ca); while (ca--){ scanf("%d%d",&n,&m); if (n>m) swap(n,m); t=tot=0; fo(i,1,n) fo(j,1,m) s[++tot]=get()-'0',t+=s[tot]; if (n>=2&&m>=3){ if (t%2==0) printf("Yes\n");else printf("No\n"); //continue; } else if (n==2&&m==2){ if (t==0||t==4) printf("Yes\n");else printf("No\n"); //continue; } else{ fo(i,1,m-3) if (s[i]){ s[i]^=1; s[i+1]^=1; s[i+2]^=1; s[i+3]^=1; } czy=1; fo(i,m-2,m) if (s[i]){ czy=0; break; } if (czy) printf("Yes\n");else printf("No\n"); } } }
相关文章推荐
- 【51nod】1851 俄罗斯方块
- CCF 俄罗斯方块
- CCF-201604-2-俄罗斯方块
- [java游戏开发快速入门]俄罗斯方块游戏开发开篇
- 51nod 1519 拆方块
- Java 俄罗斯方块游戏
- js 俄罗斯方块源码,简单易懂
- CCF201604-2 俄罗斯方块(100分)
- 贪吃蛇和俄罗斯方块
- JavaScript--js写的俄罗斯方块
- [转] 不错的俄罗斯方块程序代码(VC++版)
- 一个MIDP俄罗斯方块游戏的设计和实现
- 俄罗斯方块总结
- JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_3_增加成绩记录
- 一个基于Yahoo UI的Ajax俄罗斯方块游戏
- 俄罗斯方块javascript版本
- 一个基于Yahoo UI的Ajax俄罗斯方块游戏
- 一个MIDP俄罗斯方块游戏的设计和实现
- c++写的基于openGL的立体俄罗斯方块
- [转载]俄罗斯方块AI源码!