nssl1175-小S练跑步【bfs】

正题


题目大意

n∗mn*mnm的地图,每个格子有限制。是障碍的话就不可以到,如果不是就会要求在这个格子不可以像上下左右其中一个方位走。求最少拐弯次数。


解题思路

就是bfs,之前写过类似的,详见:https://blog.csdn.net/Mr_wuyongcong/article/details/78755411


code

#include<cstdio>
#include<queue>
#include<algorithm>
#include<iostream>
#define N 510
using namespace std;
const int dx[5]={0,-1,0,1,0},dy[5]={0,0,-1,0,1};
struct node{int x,y,w;
};
queue<node> q;
int a[N][N],path[N][N],n,m;
char c;
int bfs()
{q.push((node){1,1,-1});while(!q.empty()){int x=q.front().x,y=q.front().y,w=q.front().w;q.pop();for(int k=1;k<=4;k++){int dis=1;while(x+dx[k]*dis<=n&&x+dx[k]*dis>0&&y+dy[k]*dis<=m&&y+dy[k]*dis>0&&a[x+dx[k]*(dis-1)][y+dy[k]*(dis-1)]!=k&&a[x+dx[k]*dis][y+dy[k]*dis])//判断的是否可行{if(!path[x+dx[k]*dis][y+dy[k]*dis])//已经走过{q.push((node){x+dx[k]*dis,y+dy[k]*dis,w+1});path[x+dx[k]*dis][y+dy[k]*dis]=1;//标记if(x+dx[k]*dis==n&&y+dy[k]*dis==m)//到达return w+1;}dis++;}}}return -1;
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){cin>>c;if(c=='U') a[i][j]=1;else if (c=='D') a[i][j]=3;else if (c=='L') a[i][j]=2;else if (c=='R') a[i][j]=4;}//输入a[n][m]=4;//防止终点是障碍物int ans=bfs();if(ans==-1) printf("No Solution");else printf("%d",ans);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 2017 正式发布

SQL Server 2017 跨出了重要的一步&#xff0c;它力求通过将 SQL Server 的强大功能引入 Linux、基于 Linux 的 Docker 容器和 Windows&#xff0c;使用户可以在 SQL Server 平台上选择开发语言、数据类型、本地开发或云端开发&#xff0c;以及操作系统开发。微软拥抱开源的脚步…

关于链表的简单创建和遍历

这是网上的的源码&#xff1a; #include <stdio.h> #include <stdlib.h> #include <malloc.h>// 定义链表中的节点 typedef struct node {int member; // 节点中的成员struct node *pNext; // 指向下一个节点的指针 }Node,*…

可能是最全面的 Java G1学习笔记

转载自 可能是最全面的 Java G1学习笔记 引子 最近遇到很多朋友过来咨询G1调优的问题&#xff0c;我自己去年有专门学过一次G1&#xff0c;但是当时只是看了个皮毛&#xff0c;因此自己也有不少问题。总体来讲&#xff0c;对于G1我有几个疑惑&#xff0c;希望能够在这篇文章中…

nssl1176-轨道【数论,Dp】

正题 题目大意 给出n,m,kn,m,kn,m,k v∏i1nai(ai∈N,ai<m)k(gcd(v,k)1)v\frac{\prod_{i1}^na_i(a_i\in N_,a_i<m)}{k}(gcd(v,k)1)vk∏i1n​ai​(ai​∈N​,ai​<m)​(gcd(v,k)1) 求aaa的方案个数mod10007mod\ 10007mod 10007的值 解题思路 fi,jf_{i,j}fi,j​表示前i个…

微服务~Eureka实现的服务注册与发现及服务之间的调用

微服务里一个重要的概念就是服务注册与发现技术&#xff0c;当你有一个新的服务运行后&#xff0c;我们的服务中心可以感知你&#xff0c;然后把加添加到服务列表里&#xff0c;然后当你死掉后&#xff0c;会从服务中心把你移除&#xff0c;而你作为一个服务&#xff0c;对其它…

新高考增值评价系统业务简单介绍(超详细,图文并茂)

大家好&#xff0c;我是雄雄。 文章目录一&#xff1a;基本信息1&#xff1a;学校信息2&#xff1a;教师管理1&#xff1a;下载教师模板2&#xff1a;上传教师模板3&#xff1a;查看教师数据4&#xff1a;教师信息编辑5&#xff1a;新增教师6&#xff1a;导出教师数据3&#xf…

一步一步详解高斯日记

这是有一年的蓝桥杯的题目&#xff0c;感觉挺有趣的 意思就是高斯有个习惯&#xff0c;记日期的时候喜欢只用数字来记&#xff0c;比如如果你2001年一月一日出生的话&#xff0c;你活到2002年1 月一日&#xff0c;他就会写个366。大致意思就是你现在的时间减去个出生的时间1就是…

微服务配置中心实战:Spring + MyBatis + Druid + Nacos

转载自 微服务配置中心实战&#xff1a;Spring MyBatis Druid Nacos 很多基于 Spring MVC 框架的 Web 开发中&#xff0c;Spring MyBatis Druid 是一个黄金组合&#xff0c;在此基础上如果融入一个配置中心&#xff0c;会发生什么特别的变化呢&#xff1f; 本文将通过一…

揭晓新版《Windows Sysinternals实战指南》读书积赞活动

参与新版《Windows Sysinternals实战指南》&#xff0c;读书积赞活动的一下三位同学&#xff08;想法构成&#xff0c;我zzz&#xff0c;kergee&#xff09;&#xff0c;请加我微信geffzhang&#xff0c;把姓名&#xff0c;地址和手机号发给我&#xff0c;后续给你们寄书。.NET…

ssl提高组国庆模拟赛【2018.10.5】

前言 竟然有半IOI赛制&#xff08;雾&#xff09; 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017myself2017myself2017myself1501501506060609090900002222015hjw2015hjw2015hjw1401401401001001004040400003332015zyf2015zyf2015zyf10010010080808020…

Spring Cloud 终于按捺不住推出了自己的服务网关 Gateway

转载自 Spring Cloud 终于按捺不住推出了自己的服务网关 Gateway Spring 官方最终还是按捺不住推出了自己的网关组件&#xff1a;Spring Cloud Gateway &#xff0c;相比之前我们使用的 Zuul&#xff08;1.x&#xff09; 它有哪些优势呢&#xff1f;Zuul&#xff08;1.x&…

方向、目标、改变

小叙 昨天看了一些大佬的博客&#xff0c;感觉受到了很大的激励&#xff0c;别人学编程的时间也很晚&#xff0c;想必绝大多数人学习编程的时间都是很晚&#xff0c;大学之后才学的应该不会少数&#xff0c;那些非本专业的&#xff0c;可能更晚&#xff0c;甚至毕业之后转专业…

ASP.NET Core中如何调整HTTP请求大小的几种方式

一、前言 一般的情况下&#xff0c;我们都无需调用HTTP请求的大小&#xff0c;只有在上传一些大文件&#xff0c;或者使用HTTP协议写入较大的值时&#xff08;如调用WebService&#xff09;才可能会调用HTTP最大请求值。 在ASP.NET Core 2.0中&#xff0c;它的两个宿主服务器Ke…

USACO2.1【bfs,排序,贪心,dfs,位运算】

前言 开始刷USACO的题了。 正题 刷前必备技能:OI常识,bfs,dfs,位运算,基础贪心,快速排序。 T1:城堡 TheCastleThe CastleTheCastle 评测记录: https://www.luogu.org/recordnew/lists?uid52918&pidP1457 之前写过,详见: https://blog.csdn.net/Mr_wuyongcong/article/d…

常用公有云接入——腾讯

一、ES术语表 本文档涉及的一些常用术语如下&#xff1a; 术语全称中文说明InstanceInstance实例指代一台云服务器。RegionRegion地域表示资源所在的地域&#xff0c;每个地域包含一个或多个可用区。ZoneZone可用区指腾讯云在同一 地域 内电力和网络互相独立的物理数据中心。…

csdn颜色字体的改变

一直想改变一下csdn界面字体的颜色&#xff0c;奈何csdn上没有像Word那样直接改变字体颜色的版面&#xff0c;找半天没找到&#xff0c;后来才知道必须输入代码才能改变字体颜色&#xff0c;这个就很高级了啊 <font face"微软雅黑" color#FF8C00 size2> **一…

ASP.NET Core 2.0 使用支付宝PC网站支付

前言 最近在使用ASP.NET Core来进行开发&#xff0c;刚好有个接入支付宝支付的需求&#xff0c;百度了一下没找到相关的资料&#xff0c;看了官方的SDK以及Demo都还是.NET Framework的&#xff0c;所以就先根据官方SDK的源码&#xff0c;用.NET Standard 2.0 实现了支付宝服务端…

USACO2.2【统计,dp,模拟,位运算】

正题 T1:序言页码 PrefaceNumberingPreface NumberingPrefaceNumbering 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1465 题目大意 求1∼n1\sim n1∼n的罗马数字每个字母出现的次数。 解题思路 先写一个表&#xff0c;表示这个位上出现哪个数字表示…

mysql实现查询分组查询最后一次的记录

大家好&#xff0c;我是雄雄。 前言 又好久没有写博客了&#xff0c;为什么呢&#xff1f;因为最近没怎么写代码…说起来也惭愧。 今天在项目上遇到了个需求&#xff0c;是这样的&#xff1a;我们数据库中有一表检测记录表&#xff0c;该表中存储的是所有居民每次的检测记录&…

常用公有云接入——华为

一、介绍 1、什么是弹性云服务器? 弹性云服务器是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算服务器&#xff0c;同时它结合虚拟私有云、虚拟防火墙、数据多副本保存等能力&#xff0c;为您打造一个高效、可靠、安全的计算环境&#xff0c;确保您的服…