HDU 4414 Finding crosses
来源:互联网 发布:linux命令退出find 编辑:程序博客网 时间:2024/05/17 06:53
题意:给出一个图,让你找到所有的十字。
思路:简单的模拟题。枚举中心,查找十字就行了。
代码如下:
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<vector>#include<cmath>#include<iostream>#include<vector>using namespace std;char m[55][55];int n;int ans=0;int l=0;bool solve(int x,int y,int num){ bool fa=true; l=0; if(num==0) { while(x>0&&m[x][y]=='#') { x--; if(m[x][y]=='#') { if(m[x][y-1]=='#' || m[x][y+1]=='#') { return false; } else l++; } } } if(num==1) { while(y<n&&m[x][y]=='#') { y++; if(m[x][y]=='#') { if(m[x-1][y]=='#' || m[x+1][y]=='#') { return false; } else l++; } } } if(num==2) { while(x<n&&m[x][y]=='#') { x++; if(m[x][y]=='#') { if(m[x][y-1]=='#' || m[x][y+1]=='#') { return false; } else l++; } } } if(num==3) { while(y>0 &&m[x][y]=='#') { y--; if(m[x][y]=='#') { if(m[x-1][y]=='#' || m[x+1][y]=='#') { return false; } else l++; } } } return true;}int main(){ //freopen("in","r",stdin); while(scanf("%d",&n)&&n) { int i,j,k; bool f=true; ans=0; getchar(); for(i=0;i<n;i++) scanf("%s",m[i]); int mark; for(i=1;i<n-1;i++) for(j=1;j<n-1;j++) { if(m[i][j]=='#') { f=true; mark=0; for(k=0;k<4 &&f;k++) { f=solve(i,j,k); //if(!f) printf(" %d %d %d\n",i,j,k); if(k==0) mark=l; else if(mark!=l) f=false; } } if(f && mark!=0 && m[i][j]=='#') ans++; } printf("%d\n",ans); } return 0;}
0 0
- hdu-4414-Finding crosses
- hdu 4414 Finding crosses
- hdu 4414 Finding crosses
- HDU 4414 Finding crosses
- HDU 4414 Finding crosses
- HDU 4414 Finding crosses
- HDU 4414: Finding crosses
- hdu 4414Finding crosses(模拟)
- Finding crosses hdu 4414 dfs
- HDU 4414 Finding crosses 暴力枚举
- hdu 4414 Finding crosses 简单搜索
- hdu 4414 Finding crosses【简单模拟】
- HDU 4414 Finding crosses (DFS + BFS)
- HDU 4414 Finding crosses(暴力判断)
- HDU 4414 Finding crosses(dfs)
- HDU ACM 4414 Finding crosses 暴力枚举
- hdu 4414 Finding crosses(搜索)
- HDU 4414 Finding crosses(搜索)
- 索引监控
- Linux信号(signal) 机制分析
- Fiddler (二) Script 用法
- DDPush 任意门推送 开源免费实时信息推送服务器
- WAS集群系列(16):WAS集群删除概要文件
- HDU 4414 Finding crosses
- 长按电源键,为Android手机添加自动重启Item
- Moto 360拆机
- .net LinkButton鼠标经过改变字体的样式
- C语言宏高级用法
- Fiddler (三) Composer创建和发送HTTP Request
- Oracle 索引
- Fiddler (四) 实现手机的抓包
- Ksoap2使用详解