一: label.text = @"【问题描述】: 给出一个矩阵,从左上角开始走,只能向右或者向下,所有数字累加就是路径和,求出其中最小路径。"; [self.view addSubview:label];
//原始矩阵 int i,j; int data[4][4] = { {1,3,5,9}, {8,1,3,4}, {5,0,6,1}, {8,8,4,0} };
二://迷宫问题 /* 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 */
/* 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 */
/*●问题描述:
给出一个矩阵,其中0表示通路,1表示墙壁,这样就形成了一个迷宫,要求编写算法求出其中一条路径。 ●递归思路:
编写一个走迷宫函数,传入二位数组的下标,先假设该点位于最终路径上(将0置为2)再探测周围四个点是否可以走通(是否为0),如果可以走通则将该点四周能走通的点作为函数参数传入函数进入递归。若四周均不能走通(都不为0时)则将该点置回0表示该点不是最终路径上的点。 在此思路中递归进入时表示了枚举路径,当发现此条路径走到某处再不能走通时就将路径该点置回0并且递归退出(回溯)寻找下一条可走通路径。 */