经典算法<一>迷宫问题 3.多条路径 BFS求解 C++实现

本文介绍了使用C++通过BFS(广度优先搜索)算法来解决迷宫问题,旨在找到从起点到终点的多条路径。代码中详细解释了算法的实现过程,包括如何标记已访问节点以及处理回环的情况。
摘要由CSDN通过智能技术生成
/*
* File name  : maze.cpp
* Function   : 迷宫问题 求解 C++实现 
* Created on : 2016年5月15日
* Author     : beijiwei@qq.com
* Copyright  : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。
任何单位和个人不经本人允许不得用于商业用途
*
题目: 多条路径 求解路径条数, 若有回环,则只有 向右和向下
10 10
1 0 0 0 0 0 0 0 0 0 
1 1 0 0 0 0 0 0 0 0 
0 1 1 1 1 1 1 1 1 1 
0 0 1 0 0 1 0 1 0 1 
0 0 1 1 1 1 0 1 0 1 
0 0 1 0 0 0 0 1 0 1 
0 0 1 0 1 1 1 1 0 1 
0 0 1 0 1 0 0 1 0 1 
0 0 1 1 1 0 0 1 1 1 
0 0 0 0 0 0 0 0 1 1 


*
*/
#include <cstdio>
#include <iostream>

using namespace std;

typedef struct {
	int data;
	bool mark;
	int x;
	int y;
}Spot;

#define SIZE 10
Spot sarray[SIZE][SIZE];

void bfs(int x,int y);
int path_count=0;

int main(int argc, char** argv)
{
	int M = 0, N = 0;

	freopen("input.txt", "r", stdin);
	cin >> M >> N;

	for (int i = 0; i<M; i++)
		for (int j = 0; j < N; j++) {
			cin >> sarray[i][
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值