hdu1241 油田计数
作者:互联网
具体思路:求联通块,在"@“的周围进行dfs,使用8个方向向量来代表搜索的方向
贴一下我的主要代码段:
int dir[8][2]={{1,1},{-1,-1},{1,-1},{-1,1},{1,0},{-1,0},{0,1},{0,-1}}; //设置方向向量
char Map[1005][1005];
int x,y;
void dfs(int m,int n)
{
for(int i=0;i<8;i++)
{
int m1=m+dir[i][0];
int n1=n+dir[i][1];
if(m1>=0&&n1>=0&&m1<x&&n1<y&&Map[m1][n1]=='@') //搜索的点处于图的边界内
{
Map[m1][n1]='.'; //防止重复搜索
dfs(m1,n1); //下一轮搜索
}
}
}
标签:int,dfs,计数,m1,dir,&&,油田,n1,hdu1241 来源: https://www.cnblogs.com/lzamonologue/p/11337337.html