hdu 1241 Oil Deposits
2011-08-02 22:29
330 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1241
今天第一次做DFS的题,虽然这道题目也可以用BFS,不过我还是觉得DFS简单,所以就用DFS,把八个方向的点都置为0,只剩一个2,所以只要查找2的个数即可。。
代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int hash[120][120];
void DFS(int x,int y)
{
if(x<0||y<0||(hash[x][y]!=2))
return ;
if(hash[x][y]==2)
{
hash[x][y]=0;
DFS( x-1,y-1 );
DFS( x-1,y );
DFS( x-1,y+1 );
DFS( x,y-1 );
DFS( x,y+1 );
DFS( x+1,y-1 );
DFS( x+1,y );
DFS( x+1,y+1 );
}
}
int main()
{
char s[105];
int m,n,c;
while(scanf("%d%d",&m,&n),m&&n)
{
c=0;
memset(hash,0,sizeof(hash));
for(int i=0;i<m;++i)
{
scanf("%s",s);
for(int j=0;j<n;++j)
if(s[j]=='*')
hash[i][j]=1;
else
hash[i][j]=2;
}
for(int i=0;i<m;++i)
for(int j=0;j<n;++j)
{
if(hash[i][j]==2)
{
c++;
DFS(i,j);
}
}
printf("%d\n",c);
}
// system("pause");
return 0;
}
今天第一次做DFS的题,虽然这道题目也可以用BFS,不过我还是觉得DFS简单,所以就用DFS,把八个方向的点都置为0,只剩一个2,所以只要查找2的个数即可。。
代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int hash[120][120];
void DFS(int x,int y)
{
if(x<0||y<0||(hash[x][y]!=2))
return ;
if(hash[x][y]==2)
{
hash[x][y]=0;
DFS( x-1,y-1 );
DFS( x-1,y );
DFS( x-1,y+1 );
DFS( x,y-1 );
DFS( x,y+1 );
DFS( x+1,y-1 );
DFS( x+1,y );
DFS( x+1,y+1 );
}
}
int main()
{
char s[105];
int m,n,c;
while(scanf("%d%d",&m,&n),m&&n)
{
c=0;
memset(hash,0,sizeof(hash));
for(int i=0;i<m;++i)
{
scanf("%s",s);
for(int j=0;j<n;++j)
if(s[j]=='*')
hash[i][j]=1;
else
hash[i][j]=2;
}
for(int i=0;i<m;++i)
for(int j=0;j<n;++j)
{
if(hash[i][j]==2)
{
c++;
DFS(i,j);
}
}
printf("%d\n",c);
}
// system("pause");
return 0;
}
相关文章推荐
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits (一次dfs搞定有某有)
- POJ 1562 Oil Deposits (HDU 1241 ZOJ 1562) DFS
- Oil Deposits (HDU 1241)
- HDU 1241 Oil Deposits
- 【hdu 1241】 Oil Deposits (dfs+bfs)
- HDU 1241 Oil Deposits【dfs最大联通块(洪水算法)】
- HDU 1241 Oil Deposits
- HDU - 1241 Oil Deposits
- hdu 1241 Oil Deposits (最经典的dfs)
- [kuangbin带你飞]专题一 简单搜索L - Oil Deposits(HDU 1241)
- HDU 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits (DFS入门)
- HDU 1241 Oil Deposits 深搜(DFS)
- hdu-1241 Oil Deposits
- HDU - 1241——Oil Deposits
- HDU 1241 Oil Deposits【简单DPS搜索】
- HDU 1241 Oil Deposits (DFS)
- hdu1241——Oil Deposits(广搜的简单应用)