当前位置: 首页 > news >正文

动软代码生成器 做网站网站百度不收录

动软代码生成器 做网站,网站百度不收录,英文网站制作 官网,建设手机网站多少钱传送 这看起来有点像个搜索,那我们就用搜索试试。 dfs?bfs? 其实都可以,但是窝只会dfs.。 既然这里要用dfs,那么就要把每次搜到(m,m)时,使用的金币数量进行比较,取最小值。 在搜索过程中肯定会遇到很多不是最优解的情况。既然不…

传送

这看起来有点像个搜索,那我们就用搜索试试。

dfs?bfs?

其实都可以,但是窝只会dfs.。

既然这里要用dfs,那么就要把每次搜到(m,m)时,使用的金币数量进行比较,取最小值。

在搜索过程中肯定会遇到很多不是最优解的情况。既然不是最优解,那么我们可以用某些方式在搜索过程中就把这些情况给剪掉。(也就是剪枝)我们不妨再开一个二维数组best,best[i][j]表示走到点(i,j)所用的最少金币数量。这样搜索到点(i,j)时,如果当前花费的金币总数不小于best[i][j],那么就算这种情况能够到达终点,它也一定不是最优解,所以我们直接返回,不再搜索。这样就可以节省很多的时间(至少不会TLE)

再考虑一些细节

这里我们就不判断每个点是否到过了,因为在上面的剪枝中,第二次到达一个搜索过的点,花费的金币肯定不比第一次到达时花费的少。

在搜索时,我们只搜索有颜色的点。对于那些可以使用魔法的无色格子,我们就直接把它设成有颜色的,并且标记已经使用过魔法。在回溯的时候再使它的颜色变为无色就好。

这里红色是0,黄色是1,而那些没有颜色的点的初始值也是0。所以我们在输入颜色的时候,将有颜色的点的颜色+1,就可以区分了。

代码:

#include<bits/stdc++.h>
using namespace std;
int m,n,ma[109][109],be[109][109];//be就是best,ma就是map(地图)
int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1};
int read()//快读
{char ch=getchar();int x=0;bool f=0;while(ch<'0'||ch>'9'){if(ch=='-')f=1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}f?x=-x:x=x;return x;
}
void dfs(int nowx,int nowy,int cost,bool magic)
{if(nowx==m&&nowy==m){be[m][m]=min(be[m][m],cost);return ;}if(cost>=be[nowx][nowy])return ;be[nowx][nowy]=cost;for(int i=0;i<=3;i++){int ex=nowx+dx[i],ey=nowy+dy[i];if(ex>=1&&ex<=m&&ey>=1&&ey<=m){if(ma[ex][ey]!=0)//只搜索有颜色的点(无色可以覆盖成有色)
            {if(ma[ex][ey]==ma[nowx][nowy])dfs(ex,ey,cost,0);else dfs(ex,ey,cost+1,0);  }else if(magic==0)//对于无色的点,看是否能使用魔法
             {ma[ex][ey]=ma[nowx][nowy];dfs(ex,ey,cost+2,1);ma[ex][ey]=0;//一定要记得回溯啊
             }}}
}
int main()
{m=read();n=read();for(int i=1;i<=n;i++){int x=read(),y=read(),c=read();c++;ma[x][y]=c;}memset(be,63,sizeof(be));dfs(1,1,0,0);if(be[m][m]<1061109567)//memset之后be的值是1061109567printf("%d\n",be[m][m]);//be[m][m]就是最后的解else printf("-1");return 0;
}

 

转载于:https://www.cnblogs.com/lcez56jsy/p/11116126.html

http://www.lbrq.cn/news/2421739.html

相关文章:

  • 北京通州网站建设石家庄网络seo推广
  • 网站建设标准规范济南谷歌推广
  • 杭州企业网站优化哪家公司建设网站好
  • 衡水做网站开发的百度怎么发自己的小广告
  • 网站后台密码忘了怎么办今日头条新闻大事件
  • 上海网站建设lv cn在线bt磁力搜索
  • 做购物网站哪种服务器好整合营销经典案例
  • 做任务兼职赚钱的网站有哪些链网
  • 电商网站开发文献汇总seo优化查询
  • 西安网站建站优化网站推广软件免费
  • 建站吧网站建设seo优化平台
  • 宝安最好的网站建设在线视频用什么网址
  • 网站做推广需要营业执照广东seo网站推广代运营
  • 建立网站的优势crm
  • 新鸿儒网站seo教程论坛
  • 社区做图网站北京网站推广排名服务
  • 上海电子通科技网站建设seoul怎么读
  • 兖州网站建设有没有自动排名的软件
  • 网站建设的产品类型是什么电脑培训网
  • 手把手做网站页面网站关键词怎么设置
  • 用别人的资源做网站营销策划品牌策划
  • 西宁做网站君博专注中国局势最新消息今天
  • 网站的设计分析ks数据分析神器
  • 云南建投第五建设有限公司网站百度指数数据官网
  • 南京网站开发公司哪家好电子商务营销的概念
  • 浏览器下载免费版百度地图排名可以优化吗
  • 百度推广电话号码seo营销专员
  • 定制小程序开发公司百度seo软件首选帝搜软件
  • 阿里巴巴建设网站泉州百度seo
  • 增城网站建设方案360开户
  • Apache Ignite Binary Object 调优
  • Vue3 面试题及详细答案120道 (1-15 )
  • python学智能算法(二十六)|SVM-拉格朗日函数构造
  • 第459场周赛
  • 06 51单片机之矩阵键盘
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘sqlalchemy’问题