poj1979 水题简单dfs

本文介绍了一个简单的深搜(DFS)算法应用案例,通过绘制地图来确定可行走的路径范围。利用二维数组表示地图,其中'.'代表可通行路径,'@'为起点,'#'为障碍物。通过递归调用DFS函数探索所有可达区域,并计算可达范围的大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:画一个表格,'.'表示可走的路,'@'表示出发点,'#'表示不能走的路,输出可走的范围,简单dfs深搜。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
char m[21][21];
int dx[4]={0, 1 ,0,-1},dy[4]={1,0,-1,0},w,h;
int dfs(int x,int y)
{
    int i,nx,ny,ans=1;
    m[y][x]='#';
    for(i=0;i<4;i++)
    {
        nx=x+dx[i];ny=y+dy[i];
        if(nx>=0&&nx=0&&ny>w>>h&&(w!=0||h!=0))
    {
        for(i=0;i>m[i][j];
                if(m[i][j]=='@')
                {
                    xx=j;yy=i;
                }
            }
        }
        cout<



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值