Red and Black POJ - 1979-入门dfs

本文介绍了一种基于深度优先搜索(DFS)的算法来解决迷宫问题,目的是找到从起点出发可达到的最大黑色格子数量。通过递归地探索上下左右四个方向,并使用特殊符号标记已访问过的路径。

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

分析:相当于走迷宫,黑色格子是路,红色格子是墙,每次到达一个未到达过的格子时计数,原点也算是一个!!每次可以走上下左右四个方向,求能走到的最大的黑色格子数。

思路:用深度优先遍历从原点起始,一直到遍历所有能到达的格子。注意走过的格子用新符号标记,只要非"."即可。在这里用"#"标记。(也可以再开一个book数组标记走过的为1,没走的为0,但对于本题 没必要这么麻烦,以后的dfs会用到)。

AC代码:

#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
using namespace std;
char g[30][30];
int l,h;
int sx,sy;
int ans;
   
int dfs(int x,int y)
{
   int  ans=0;//!!!此处注意重新定义一个ans,而不是赋值0(方法一)。

//方法二:此处可以不重新定义ans,只需要将ans+=dfs(nx,ny);改为ans=dfs(nx,ny);
    int dx[5]={0,1,0,-1};
    int dy[5]={1,0,-1,0};
    for(int i=0;i<4;i++)
    {
        int nx=x+dx[i];
        int ny=y+dy[i];
        if(nx<h&&nx>=0&&ny<l&&ny>=0&&g[nx][ny]=='.')
        {
            ans++;
            g[nx][ny]='#';
            ans+=dfs(nx,ny);
        }
    }
    return ans;
}
void solve()
{
    for(int i=0;i<h;i++)
        for(int j=0;j<l;j++)
    {
        if(g[i][j]=='@')
        {
            sx=i;
            sy=j;
            break;
        }
    }
   ans=1+dfs(sx,sy);
    cout<<ans<<endl;
}




using namespace std;
int main()
{
    while(scanf("%d %d",&l,&h)!=EOF)
    {
        if(l==0&&h==0)  break;
           ans=0;          
        for(int i=0;i<h;i++)//  √            !!这样输入超限    for(int i=0;i<h;i++)   for(int j=0;j<l;j++) scanf("%c",&g[i][j]); 超限
           scanf("%s",g[i]);
         


           solve();


    }
}

内容概要:本文深入探讨了折扣店快消品定价的研究,涵盖快消品与折扣店行业的概述、定价影响因素、定价策略、定价方法、定价技巧及案例分析。快消品行业涉及日常生活用品、食品、饮料等,具有高频次和重复购买的特点。折扣店市场规模不断扩大,主要参与者包括赵一鸣、好特卖等。影响定价的因素包括成本(生产、库存、物流)、市场需求(规模、购买力、需求弹性)、竞争(对手定价策略、市场份额)、产品特性(差异化、品牌形象)、渠道与分销成本、政府政策等。定价策略分为成本导向(成本加成、目标收益)、需求导向(理解价值、需求差异)和竞争导向(随行就市、投标定价)。定价方法包括市场调研、成本加成、竞争比较和价值定价。定价技巧涵盖高价撇脂、渗透定价、价格歧视和捆绑定价。最后通过好特卖、嗨特购、零食很忙的案例分析,展示了不同折扣店的定价策略及其效果。 适合人群:从事快消品行业、折扣店运营的管理人员及对定价策略感兴趣的商业人士。 使用场景及目标:①帮助折扣店管理者了解定价的基本理论和实际操作方法;②为快消品企业提供定价决策支持,优化定价策略;③通过案例分析,提供实际操作中的经验和教训。 其他说明:折扣店在制定快消品定价时,应综合考虑多种因素,灵活运用不同的定价策略和技巧,以应对市场变化,提升竞争力。建议企业定期监控市场动态,分析消费者反馈,不断优化定价方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值