| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3072 人关注过本帖
标题:虽然结果出来了,但是为什么有很多是重复的?
取消只看楼主 加入收藏
hunterevil
Rank: 1
等 级:新手上路
帖 子:17
专家分:3
注 册:2016-1-12
结帖率:66.67%
收藏
 问题点数:0 回复次数:1 
虽然结果出来了,但是为什么有很多是重复的?
程序代码:
#include"iostream"
using namespace std;
#define size 3
int maze[size+2][size+2];
void creat(){                                             //创建迷宫
int i,j;
for(i=0;i<=size+1;i++)
    for(j=0;j<=size+1;j++)
        maze[i][j]=0;
i=0;
for(j=0;j<=size+1;j++)
        maze[i][j]=1;
i=size+1;
for(j=0;j<=size+1;j++)
    maze[i][j]=1;
j=0;
for(i=0;i<=size+1;i++)
    maze[i][j]=1;
j=size+1;
for(i=0;i<=size+1;i++)
    maze[i][j]=1;
}void set_m(){                               //给迷宫设置障碍物,1表示有障碍物,0表示没有
    maze[1][2] = 1;
    maze[3][3]=1;
}
void show(){
int i,j;
for(i=0;i<=size+1;i++){                          //输出迷宫
    for(j=0;j<=size+1;j++){
        if(maze[i][j]==-1)cout<<"*"<<"  ";
       if(maze[i][j]==1)cout<<"#"<<"  ";
    if(maze[i][j]==0)cout<<"   ";

}
cout<<endl;
}
}
void search_m(int i,int j){                     //查找路径,出口点在2,3.入口点在1,1
if(i==2&&j==3){maze[i][j]=-1;int static k=1;cout<<""<<k<<"种:\n";show();k++;return;}
   if(maze[i][j]==-1||maze[i][j]==1)return;       //maze[i][j]表示改点曾经走过。
            maze[i][j]=-1;
           search_m(i-1,j);
           search_m(i,j+1);
           search_m(i+1,j);
           search_m(i,j+1);
            maze[i][j]=0;
}
int main(){
creat();
set_m();
show();
search_m(1,1);
return 0;
}



图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

2016-03-22 22:44
hunterevil
Rank: 1
等 级:新手上路
帖 子:17
专家分:3
注 册:2016-1-12
收藏
得分:0 
本来答案应该是两种,但是为什么结果是8种,其中不一样的就两种,其余的全是重复的。
2016-03-22 22:46
快速回复:虽然结果出来了,但是为什么有很多是重复的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021481 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved