21-matlab 迷宫题
dfs: 注意matlab里面的全局变量的使用
test.m:
clc;
clear;
global A ii dx dy vis minpath path
A=...
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;
1 2 0 0 1 1 0 0 0 0 1 1 1 1 1 1;
1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1;
1 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1;
1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1;
1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1;
1 0 0 0 0 1 1 1 1 1 1 0 1 1 1 1;
1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 1;
1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1;
1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1;
1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1;
1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1;
1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1;
1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1;
1 1 1 1 1 1 1 1 1 1 0 0 0 0 3 1;
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;
];
minpath = inf
dx = [1, -1, 0, 0];
dy = [0, 0, -1, 1];
vis = zeros(16,16);
disp('迷宫图')
% A
% A = num2str(A)%% 2为入口点(2,2), 3为出口为A(15,15)
ii = 0;
[xx, yy] = size(A);
visits(2,2);
disp('第一种走出迷宫图')
fprintf('最短路:%d', minpath);
path
ys = max(path, A)
% A = num2str(A)
visits.m:
function [i,j]=visits(i,j)
global A ii dx dy vis minpath path
if A(i,j) == 3
% A(i,j) = 3;
if ii < minpath
minpath = ii;
path = vis;
end
fprintf('found: %d\n', ii);
% A = num2str(A)
% vis = num2str(vis)
return ;
end
% if ii > 200
% return
% end
for xi = 1:4
x = i + dx(xi);
y = j + dy(xi);
if x >= 1 && x <= 16 && y >= 1 && y <= 16 && A(x,y) ~= 1 && vis(x,y) == 0
vis(x,y) = 8;
ii = ii + 1;
% t = A(x,y);
% A(x,y) = 8;
visits(x, y);
% A(x,y) = t;
ii = ii - 1;
vis(x,y) = 0;
end
end end
21-matlab 迷宫题的更多相关文章
- Wannafly挑战赛21 C 大水题
https://www.nowcoder.com/acm/contest/159/C dp #include <cstdio> #include <cstdlib> #incl ...
- 2019.11.21 做OJ题的反思
1.利用二分法查找数组元素(适用于有序数组) #include<stdio.h> int BinarySearch(int a[],int n,int key); ]; int main( ...
- 51nod 1459 迷宫游戏 dijkstra模板
链接:迷宫游戏 问题 - 51Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1459 1459 迷宫游戏 基准 ...
- paper 21 :Libsvm的安装和使用
看了很多资料(包括我们实验室群里师兄上传的资料),算是掌握了libsvm的正确安装和使用,把结果告诉大家以方便以后使用. 1. 参考网站: libsvm库下载:http://www.csie.ntu. ...
- U68364 _GC滑迷宫
题目背景 _GC买了一双蔡徐坤一代. 题目描述 _GC进入了一个n*m的迷宫.本题的特殊之处在于,_GC只能滑着走.具体来说就是,选定一个方向后,_GC会一直向该方向滑,直到撞到墙.会给出_GC的起始 ...
- 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)
一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...
- MATLAB安装libsvm无法使用解决办法(转)
buaasuozi 这是原作者: 安装libsvm 不成功有可能是你的MATLAB版本或者是编译文件版本的问题,但是不要急着换其他版本....说不定就有别的解决办法呢 首先感谢Lin教授及其实验室提 ...
- matlab用法总结
1. Matlab怎么判断空矩阵http://www.ilovematlab.cn/thread-48915-1-1.html a=[ ] if isempty(a) 2.matlab寻找多个最大值位 ...
- libSVM笔记之(一)在matlab环境下安装配置libSVM
本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing 台湾林智仁教 ...
随机推荐
- 最长重复字符串题解 golang
最长重复字符串题解 package main import ( "fmt" "strings" ) type Index map[int]int type Co ...
- 数据帧、MTU、MSS、IP分片
1.以太网帧 在以太网链路上的数据包称作以太帧,在802.3标准里,规定了一个以太帧的数据部分(Payload)的最大长度是1500个字节(MTU),再加上14字节链路头和4字节的FCS,所以以太网帧 ...
- html+css+jq随记
随便写个博客吧,记录一下自己的历程,今天忽然用自己好久不用的jq还做项目,并且从零开始搭建,让自己慌乱不已啊!遇到了如下问题 1.ios端点击闪屏的问题,解决办法如下 在body上添加 -webkit ...
- 部署redis4.0-cluster
一.部署环境 .关闭iptables(firewalld)或添加放行规则 .关闭selinux3.部署redis实例,参考:https://www.cnblogs.com/panwenbin-logs ...
- linux服务器后台运行服务
linux 后台运行一个服务 难免会遇到在Linux,后台执行任务.下面,总结了一下关闭窗口任然在后台执行的方法,例如 #执行一个打包命令 tar czf /data/backup.tgz /data ...
- Python全栈开发记录_第七篇(模块_time_datetime_random_os_sys_hashlib_logging_configparser_re)
这一篇主要是学习python里面的模块,篇幅可能会比较长 模块的概念:在Python中,一个.py文件就称之为一个模块(Module). 模块一共三种: python标准库 第三方模块 应用程序自定义 ...
- gentoo qt-creator no examples
参考 [SOLVED] qtcreator: examples are missing https://forums.gentoo.org/viewtopic-t-1092826-highlight- ...
- ETL hive update 之 deltamerge 优化
full join 横向join ,不能map join 走shuffle row_number() over ( partition by 主键 order by $flag desc) rank ...
- 单片机课程设计——课程设计之四位加法计算器(2)(C代码)
#include<reg52.h> typedef unsigned char uint8; typedef unsigned int uint16; sbit rw=P2^5; sbit ...
- phpstorm 实现SFTP开发,线上线下同步(实时更新代码)
https://blog.csdn.net/zz_lkw/article/details/79711746