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

  

最新文章

  1. pycharm连接mysql数据库
  2. Linux 部署 nginx服务代理
  3. oracle 中数据库完全导入导出:cmd命令行模式(转载)
  4. redis集群同步迁移方法(二):通过redis-migrate-tool实现
  5. JQ nextALL() 实现遍历
  6. sql语句创建新登录名和设置权限
  7. Q:关于Outlook for CRM 中预览记录窗体的设置
  8. 【转】Problems with HTTPS, HttpWebRequest, and iOS?
  9. jQuery之事件even
  10. python----slots属性安全类
  11. 积累的VC编程小技巧之框架窗口及其他
  12. HDU 3829 Cat VS Dog
  13. vim跳转
  14. 处理eclipse启动时报java.lang.IllegalStateException
  15. Wireshark抓包常见出现错误
  16. ubuntu下创建python的虚拟环境
  17. Spring Boot Cache Redis缓存
  18. Spring MVC 入门示例讲解 - howtodoinjava
  19. 随心测试_软测基础_008&lt;测试对象整体认识&gt;
  20. Electron桌面应用打包流程

热门文章

  1. 各平台操作系统查询主机WWPN
  2. let const区别!
  3. SDWebImageRefreshCached
  4. c语言中变量和函数作用域深究
  5. dva中roadhog版本升级后带来的问题及解决方法
  6. Python中文繁简体转换工具
  7. matlab-画个拱桥和倒影?
  8. request.getRealPath为什么会被代替
  9. 搭建IntelliJ IDEA授权服务器
  10. (12)SecureCRT中文乱码问题