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 迷宫题的更多相关文章

  1. Wannafly挑战赛21 C 大水题

    https://www.nowcoder.com/acm/contest/159/C dp #include <cstdio> #include <cstdlib> #incl ...

  2. 2019.11.21 做OJ题的反思

    1.利用二分法查找数组元素(适用于有序数组) #include<stdio.h> int BinarySearch(int a[],int n,int key); ]; int main( ...

  3. 51nod 1459 迷宫游戏 dijkstra模板

    链接:迷宫游戏 问题 - 51Nod  http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1459 1459 迷宫游戏  基准 ...

  4. paper 21 :Libsvm的安装和使用

    看了很多资料(包括我们实验室群里师兄上传的资料),算是掌握了libsvm的正确安装和使用,把结果告诉大家以方便以后使用. 1. 参考网站: libsvm库下载:http://www.csie.ntu. ...

  5. U68364 _GC滑迷宫

    题目背景 _GC买了一双蔡徐坤一代. 题目描述 _GC进入了一个n*m的迷宫.本题的特殊之处在于,_GC只能滑着走.具体来说就是,选定一个方向后,_GC会一直向该方向滑,直到撞到墙.会给出_GC的起始 ...

  6. 一本通之 一堆迷宫 (Dungeon Master&走出迷宫&走迷宫)

    一本通在线崩溃....... . 有图有真相 这是个三维迷宫,其实和二位迷宫差不多,只是方向多加了2个. 但这个题的输入十分恶心,一度被坑的用cin.ignore(),但还是不过... 它的正确输入方 ...

  7. MATLAB安装libsvm无法使用解决办法(转)

    buaasuozi  这是原作者: 安装libsvm 不成功有可能是你的MATLAB版本或者是编译文件版本的问题,但是不要急着换其他版本....说不定就有别的解决办法呢 首先感谢Lin教授及其实验室提 ...

  8. matlab用法总结

    1. Matlab怎么判断空矩阵http://www.ilovematlab.cn/thread-48915-1-1.html a=[ ] if isempty(a) 2.matlab寻找多个最大值位 ...

  9. libSVM笔记之(一)在matlab环境下安装配置libSVM

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing 台湾林智仁教 ...

随机推荐

  1. 安装部署Kafka集群

    kafka是一个开源的分布式消息订阅系统(消息中间件) 安装过程 1.下载kafka_2.11-0.10.1.0.gz(ps:千万不要下错了,博主就是下到了src文件上去了,kafka中的zookee ...

  2. airflow整体架构

    run命令运行过程 读取dag文件生成task依赖关系,然后生成封装airflow run的command命令,通过celery发送到executor端,重新执行该airflow run命令. sch ...

  3. DOM随时记

    1.node-type 返回元素的节点类型:可以在标签上进行设置 node-type="item"   ---来自新浪微博的首页写法

  4. no module named selenium

    I am having the same problem. I have downgraded selenium for now. pip uninstall selenium pip install ...

  5. NodeJS-静态服务器

    静态服务器 代码 const http = require('http') const chalk = require('chalk') const conf = require('./config/ ...

  6. 实时监听input输入内容的N种方法

    现在有一个需求,需要我们实时监听input输入框中的内容,从而带来更好的用户体验,而不是等我们全部输入完毕才告诉我们格式不对首先我们创建一个input输入框 <form name='loginF ...

  7. 搭建Hadoop

    最近开始学习hadoop现实是完全分布式 安利大佬博客学习 https://blog.csdn.net/downing114/article/details/60956979 在Ubuntu上学习  ...

  8. Jacey:烧了500万才知道,信息流广告OCPC竟然要这样玩!心疼

    现在很多线索类广告主,已经不满足于表单.在线咨询等获客方式,随着微商的火热,很多行业都玩起了个人微信号加粉的方式来获取潜在消费者. 随着手机的普遍,移动流量呈大幅上涨趋势,越来越多广告主将目光投向了信 ...

  9. windows文件名格式的中文+数字混合字符串排序

    记录一下 [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCm ...

  10. 面试常问MySQL性能优化问题

    知识综述: [1] MySQL中锁的种类: 常见的表锁和行锁,也有Metadata Lock等等,表锁是对一整张表加锁,分为读锁和写锁,因为是锁住整张表,所以会导致并发能力下降,一般是做ddl处理时使 ...