SSL P2325 最小转弯
题目:http://blog.csdn.net/qq_35786326/article/details/78836913
题意:
分析:
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#define LL long long
using namespace std;
inline LL read(){LL d=0,f=1;char s=getchar();while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}while(s>='0'&&s<='9'){d=d*10+s-'0';s=getchar();}return d*f;
}
int f=0,t,w,a=0,b,c,d,n,m,x[105][105],state[10001][2],father[10001],dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
void cao(int l)//采用回溯法处理拐弯数
{if(father[l]==0) return;else cao(father[l]);if(state[l][0]-state[father[l]][0]==0) f=2; else f=1;if(father[father[l]]==0) a=f;if(a!=f) t++//t为统计变量,a=f;//f为判断当前的走法(横着or竖着),a为判断上一次的走法,方便看出是否有转弯
}
void bfs()//跟Oliver的救援同理
{int head,tail,x1,y1;head=0;tail=1;state[1][0]=a;state[1][1]=b;father[1]=0;x[a][b]=1;do{head++;for(int i=0;i<4;i++){x1=state[head][0]+dx[i];y1=state[head][1]+dy[i];if(x[x1][y1]==0&&x1>0&&x1<=n&&y1>0&&y1<=m){x[x1][y1]=1;tail++;father[tail]=head;state[tail][0]=x1;state[tail][1]=y1;if(x1==c&&y1==d) {cao(tail);tail=0;return;}}}}while(head<tail);return;
}
int main()
{n=read();m=read();int i,j;char s;for(i=1;i<=n;i++)for(j=1;j<=m;j++)x[i][j]=read();a=read();b=read();c=read();d=read();bfs();printf("%d",t);return 0;
}
SSL P2325 最小转弯相关推荐
- 【SSL】2325最小转弯问题
[SSL]2325最小转弯问题 Time Limit:1000MS Memory Limit:65536K Description 给出一张地图,这张地图被分为 n×m(n,m<=100)个方块 ...
- SSL_2325【最小转弯问题】
最小转弯问题 题目 给出一张地图,这张地图被分为n×m(n,m<=100)个方块,任何一个方块不是平地就是高山.平地可以通过,高山则不能.现在你处在地图的(x1,y1)这块平地,问:你至少需要拐 ...
- SSL 1460——最小代价问题
Description 设有一个n×m(小于100)的方格(如图所示),在方格中去掉某些点,方格中的数字代表距离(为小于100的数,如果为0表示去掉的点),试找出一条从A(左上角)到B(右下角)的路径 ...
- SSL_2325 最小转弯问题
题目: 给出一张地图,这张地图被分为 n×m(n,m<=100)个方块,任何一个方块不是平地就是高山.平地可以通过,高山则不能.现在你处在地图的(x1,y1)这块平地,问:你至少 ...
- 2020-11-17最小转弯半径计算
一.最小转弯半的概念 虚线是最小转弯半径,最外圆是最小通过圆.不要搞混乱了这两个概念. 二.汽车知识 ...
- 杭电1728bfs逃离迷宫java实现
Problem Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有 ...
- hdu1728--------坑爹啊
尼玛,就因为没发现'yes'写成'yrs'.整整让哥找了一个小时的bug.有没有..........此刻,内流满面! 分析: 开始以为是单纯的BFS,结果WA无数次!! 后来分析后发现是要找到不超过转 ...
- 【bfs】WJ的逃离
WJ(J)的逃离 题目大意: 有一个n×m的矩阵,*是不可走的,0是可走的,求1,1到n,m的最小转弯次数 原题: 题目描述 当WJ醒来时,发现自己被困在一个地图的左上角,幸好WJ有张图,并了解到出口 ...
- ROS——Teb算法的优化
一.简介 "TEB"全称Time Elastic Band(时间弹性带)Local Planner,该方法针对全局路径规划器生成的初始轨迹进行后续修正(modification), ...
最新文章
- 【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例
- 5G NR — 基础知识
- CTFshow 命令执行 web34
- opencv 获取灰度图像
- JSPatch – 动态更新iOS APP
- 2017双11技术揭秘—千亿级流量来袭,如何用硬件加速技术为CPU减负?
- 官网python安装教程_Python安装教程
- STM32之端口复用与重映射
- 分子排列不同会导致_武汉理工《Matter》:构筑晶体内跨尺度分子筛单晶反应器...
- QT + MinGW 中文显示乱码解决方案
- win 10 系统激活
- python基于二维数据矩阵随机生成图像文件
- mysql 合服_风云私服合区的方法详解(mysql数据库合并)
- 淘宝返利公众号开发、淘宝联盟API权限申请及对接详细教程
- win7开机突然变得很慢_Win7电脑反应变慢怎么办?
- 关于Iphone的手势识别
- 2021.3.8-第一次MD作业
- 网页播放视频有声音无图像问题的临时解决办法
- Linux(二) 常用工具
- 可选参数和非可选参数python_python – Argparse:必需的参数列在“可选参数”下?...