UVA 12291 Polyomino Composer
来源:互联网 发布:绣春刀2剧情解析知乎 编辑:程序博客网 时间:2024/06/06 04:46
1.若sma(small中‘*’的个数)!=lar(large中'*'的个数),必不成立。
2.求出small的有效长height宽width,然后枚举i(0~n-height),j(0~n-width),找出第一个与small匹配的位置,并将其copy到origin数组,在找第二次的时候每找到与small匹配的位置都要与origin遍历一次看是否有重合,若没有即输出1。
代码如下:
#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <cmath>#include <set>#include <iostream>const double PI=acos(-1.0);using namespace std;typedef long long ll;int main(){ int n,m; char large[12][12],small[12][12],origin[12][12]; while(~scanf("%d%d",&n,&m)&&n&&m) { for(int i=0;i<n;i++) { scanf("%s",large[i]); } for(int i=0;i<m;i++) { scanf("%s",small[i]); } int lar=0,sma=0; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { origin[i][j]='.'; if(large[i][j]=='*') { lar++; } } } int minx=m,miny=m,maxx=0,maxy=0; for(int i=0;i<m;i++) { for(int j=0;j<m;j++) { if(small[i][j]=='*') { sma++; if(minx>i) minx=i; if(maxx<i) maxx=i; if(miny>j) miny=j; if(maxy<j) maxy=j; } } } int first=0,ans=0; int height=maxx-minx+1; int width=maxy-miny+1; for(int ii=0;ii<=n-height;ii++) { for(int jj=0;jj<=n-width;jj++) { bool flag=true; for(int i=0;i<height;i++) { for(int j=0;j<width;j++) { if(small[i+minx][j+miny]=='*'&&small[i+minx][j+miny]!=large[i+ii][j+jj]) { flag=false; } } } if(flag&&first==0) { for(int i=0;i<height;i++) { for(int j=0;j<width;j++) { origin[i+ii][j+jj]=small[i+minx][j+miny]; } } first=1; } else if(flag&&first) { ans=1; for(int i=0;i<m;i++) { for(int j=0;j<m;j++) { if(small[i][j]=='*'&&origin[i+ii][j+jj]=='*') { ans=0; } } } if(ans!=0) break; } } if(ans!=0) break; } if(ans==0||lar!=sma*2) { printf("0\n"); } else printf("1\n"); } return 0;}/*4 3**..***..**.....**..**...4 3.**.****.**.....**..**...3 3****.*****..*..**.4 2****............*.*.3 2.**.**...****10 10..*.........*.........*..*......*..*......*..*......*..*.........*.........*..............................*.........*.........*..*.........*.........*..................................................*/
0 0
- UVA 12291 Polyomino Composer
- UVa 12291 Polyomino Composer
- UVA 12291 Polyomino Composer
- UVA-12291-Polyomino Composer
- Polyomino Composer
- UVA - 1602(Polyomino的存储和判重)
- Composer
- Composer
- composer
- composer
- Composer
- Composer
- composer
- composer
- composer
- composer
- composer
- composer
- Python--列表解析
- 2016.07.24简要记录----maven
- 各个浏览器的内核
- 解决jdk环境变量设置完后,在cmd中运行javac出现’javac‘不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示
- C语言培训_011
- UVA 12291 Polyomino Composer
- u-boot.lds 链接脚本分析(hi3515)
- 云计算平台之网络性能1
- poj 3264 Balanced Lineup (RMQ))
- 校招季--献给前端求职路上的你们(个人面试经历分享)
- Android Design Support之NavigationView实战
- Aaronson hdu5747 解题报告 深剖水题
- [LEETCODE]52. N-Queens II
- 每天一篇linux教程-----Linux 文件基本属性