POJ 1111 - Image Perimeters
来源:互联网 发布:java学生考试系统源码 编辑:程序博客网 时间:2024/05/19 13:22
很简单的dfs,求的是图形块的周长,有一定规律,我就不细说了,详见代码
#include <iostream>#include <cstring>using namespace std;char mat[25][25];bool vis[25][25];int n,m;void dfs(int x,int y){ if(x<1||y<1||x>n||y>m)return; if(!vis[x][y]&&mat[x][y]=='X') { vis[x][y]=1; dfs(x,y-1); dfs(x,y+1); dfs(x-1,y); dfs(x+1,y); dfs(x-1,y-1); dfs(x-1,y+1); dfs(x+1,y-1); dfs(x+1,y+1); }}int main(){ int r,c; while(cin>>n>>m>>r>>c) { if(!n&&!m&&!r&&!c) break; memset(vis,0,sizeof(vis)); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>mat[i][j]; dfs(r,c); int ans=0; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { if(vis[i][j]) { int count=0; if(vis[i-1][j])count++; if(vis[i+1][j])count++; if(vis[i][j-1])count++; if(vis[i][j+1])count++; ans+=4-count; } } cout<<ans<<endl; } return 0;}
- POJ 1111 Image Perimeters
- poj 1111 Image Perimeters
- POJ 1111 Image Perimeters
- Poj 1111 Image Perimeters
- POJ 1111 - Image Perimeters
- poj 1111 Image Perimeters
- POJ-1111-Image Perimeters
- poj 1111 Image Perimeters
- POJ 1111 Image Perimeters
- POJ:1111 Image Perimeters
- poj 1111:Image Perimeters
- POJ 1111 Image Perimeters
- POJ Image Perimeters 1111
- poj 1111 Image Perimeters
- POJ - 1111 Image Perimeters
- POJ 1111 Image Perimeters
- POJ 1111 Image Perimeters
- POJ 1111 Image Perimeters
- SQL Server 2005混合模式登录配置
- parse_url()
- 开启 Android SDK 所有的 API 的方法
- Android反编译(三)
- 第一节struts2开发环境的搭建
- POJ 1111 - Image Perimeters
- 获取执行程序各种属性
- 悲催的PHP新型字符串
- WEB开发
- 表格样式:鼠标经过时表格变色
- VS.NET自带GRIDVIEW自定义导航条
- API函数MoveFileEx使用详解
- 公司购买食品与税务
- gcc编译程序段错误