A
来源:互联网 发布:mac 终端登录mysql 编辑:程序博客网 时间:2024/05/20 19:32
这个窗口的题,就是统计下行列相同的,可以旋转四次以后会有多少个相同的设计。行列不同的时候就是要上下旋转了检查一下就可以这个题。难度在于模拟,
队友出的这个题,具体的细节可以看代码~~四个旋转和两个旋转直接暴力就行
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <string>using namespace std;const int maxn=200;string mapp[maxn];struct note{ char a[150][150]; int flag;} g[30000];int n,m;int main(){ while(~scanf("%d%d",&n,&m)) { for(int i=0; i<n; i++) cin >> mapp[i]; int nn,mm; for(int i=1; i<=n; i++) if(mapp[i][1]=='#') { nn=i; break; } for(int j=1; j<=m; j++) if(mapp[1][j]=='#') { mm=j; break; } int cnt=0; for(int i=0; i<=n-nn; i+=nn) for(int j=0; j<=m-mm; j+=mm) { cnt++; for(int k=1; k<=nn-1; k++) for(int l=1; l<=mm-1; l++) g[cnt].a[k][l]=mapp[i+k][j+l]; } for(int i=1; i<=cnt; i++) g[i].flag=1; int ans=0; if(nn==mm) { for(int i=1; i<=cnt; i++) if(g[i].flag) { ans++; for(int j=1; j<=cnt; j++) if(i!=j) { int flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[y][mm-x]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[mm-x][mm-y]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[x][y]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[mm-y][x]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; } } } else { for(int i=1; i<=cnt; i++) if(g[i].flag) { ans++; for(int j=1; j<=cnt; j++) if(i!=j) { int flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[nn-x][mm-y]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; for(int x=1; x<=nn-1; x++) for(int y=1; y<=mm-1; y++) if(g[i].a[x][y]!=g[j].a[x][y]) flag=1; if(flag==0) { g[j].flag=0; continue; } else flag=0; } } } printf("%d\n",ans); } return 0;}
阅读全文
1 0
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- a
- A
- A*
- a
- A
- a
- [Objective-C]利用枚举将NSString拆分句子出来
- perl 加载cookie 请求
- The variance for this alert is **MB which is 20% of the **MB average (**MB is the limit)
- LeetCode之Longest Substring Without Repeating Characters
- STM32移植LWIP网线热插入网络不通的解决办法
- A
- docker
- traceView文件如何分析
- FTP在项目文档管理中的应用
- cookie 内的sessionid
- 基于Android的“健康宝”体检APP(九)
- 最新勤哲(Excel服务器V2016).12.0.292无限用户破解支持手机APP和微信
- c语言sizeof问题
- 网络随笔(二)------TCP连接的11种状态变迁