hdu 1241 Oil Deposits(DFS)

来源:互联网 发布:中原工学院软件怎么样? 编辑:程序博客网 时间:2024/04/27 15:47

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241

明显的深搜题目

#include <stdio.h>int m,n;char map[101][101];//                 右    右下   下    左下   左    左上     上    右上int next[8][2] = {{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};//方向void DFS(int x, int y){    int k;    int tx,ty;    map[x][y] = '*';//将当前坐标标记    for(k = 0; k < 8; ++k)    {        tx = x + next[k][0];        ty = y + next[k][1];        if(tx <1 || ty < 1 || tx > m || ty > n)//判断边界            continue;        if(map[tx][ty] == '@')//判断当前点是否是油田            DFS(tx,ty);//深搜    }    return ;}int main(){    int i,j,time;    while(scanf("%d %d",&m,&n) && (m+n) != 0)    {        time = 0;        for(i = 1; i <= m; ++i)            for(j = 1; j <= n; ++j)//输入地图                scanf(" %c",&map[i][j]);        for(i = 1; i <= m; ++i)            for(j = 1; j <= n; ++j)                if(map[i][j] != '*')                {                    ++time;                    DFS(i,j);                }        printf("%d\n",time);    }    return 0;}


0 0
原创粉丝点击