HDU1241-Oil Deposits
来源:互联网 发布:数据库减少了数据冗余 编辑:程序博客网 时间:2024/05/14 12:45
题目链接:HDU1241
很裸的题目,注意连成一块的条件,对角相连也算,所以总共有8个方向。
这题也是找连通分量,和前面那个fire game 的第一步差不多。
AC:
#include<stdio.h>#include<string.h>using namespace std;const int maxn=110;char mp[maxn][maxn];bool vis[maxn][maxn];int type[maxn][maxn];int n,m,color;void dfs(int x,int y,int t){ if(t==-1) color++; vis[x][y]=1; type[x][y]=color; if(x+1<n&&mp[x+1][y]=='@'&&!vis[x+1][y]){ dfs(x+1,y,color); } if(x-1>=0&&mp[x-1][y]=='@'&&!vis[x-1][y]){ dfs(x-1,y,color); } if(y+1<m&&mp[x][y+1]=='@'&&!vis[x][y+1]){ dfs(x,y+1,color); } if(y-1<m&&mp[x][y-1]=='@'&&!vis[x][y-1]){ dfs(x,y-1,color); } if(y+1<m&&x+1<n&&mp[x+1][y+1]=='@'&&!vis[x+1][y+1]){ dfs(x+1,y+1,color); } if(y+1<m&&x-1>=0&&mp[x-1][y+1]=='@'&&!vis[x-1][y+1]){ dfs(x-1,y+1,color); } if(y-1>=0&&x+1<n&&mp[x+1][y-1]=='@'&&!vis[x+1][y-1]){ dfs(x+1,y-1,color); } if(y-1>=0&&x-1>=0&&mp[x-1][y-1]=='@'&&!vis[x-1][y-1]){ dfs(x-1,y-1,color); } return ;}int main(){ while(scanf("%d%d",&n,&m)==2&&n){ for(int i=0;i<n;i++){ scanf("%s",mp[i]); } memset(vis,false,sizeof(vis)); memset(type,-1,sizeof(type)); color=0; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(!vis[i][j]&&mp[i][j]=='@'){ dfs(i,j,-1); } } } printf("%d\n",color); /* check input for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ printf("%c",mp[i][j]); }puts(""); } */ } return 0;}
阅读全文
0 0
- Oil Deposits hdu1241 dfs
- hdu1241 Oil Deposits
- HDU1241:Oil Deposits
- HDU1241:Oil Deposits(DFS)
- HDU1241 Oil Deposits
- hdu1241(DFS Oil Deposits )
- HDU1241 Oil Deposits
- HDU1241-Oil Deposits
- HDU1241:Oil Deposits(DFS)
- hdu1241 Oil Deposits
- HDU1241 Oil Deposits DFS
- HDU1241 Oil Deposits DFS
- hdu1241(Oil Deposits)
- hdu1241(Oil Deposits)
- HDU1241 Oil Deposits
- HDU1241 Oil Deposits(宽搜)
- HDU1241 Oil Deposits
- hdu1241 Oil Deposits
- 欲望强度序表
- Centos 7安装配置jumpserver堡垒机
- com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。
- jQuery插件-二维码-jquery.qrcode
- Spring Boot + Spring Security + Thymeleaf 举例
- HDU1241-Oil Deposits
- ZBar移植到ARM
- Java8 lambda表达式10个示例
- import Error: No module named mock
- Androguard的androdd.py模块在使用过程中可能遇到的问题
- 功能强大的全新 T-SQL 语法极大地提升了 SQL Server 的可编程性
- Linux安装Redis
- 洛谷P1854 花店橱窗布置 分析+题解代码
- 慕课网bootstrap笔记------1------