| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 813 人关注过本帖
标题:地铁问题应该怎么弄,using 矩阵
只看楼主 加入收藏
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
地铁问题应该怎么弄,using 矩阵
我们作业是这样的,有人坐地铁从a到l,要求不能一条道路走两次比如从a到b又从b到a,然后编程出一个所有从a到l的路和结果数。

a[local]1[/local]
        ----g-----
     c  |     i  |
   /   \|   /   \|
a--b----e--h-----k----l
   |\   /  |\    /
   |  d    |   j
   |       |
   f-------|

我大概感觉是建一个矩阵matrix
  a b c d e f g h j k l
a 0 1 0 0 0 0 0 0 0 0 0
b
c
d
e
f
g
h
j
k
l
有路就是1没路就是0,然后一步步走下去找到终点,不过不知道怎么写阿??
搜索更多相关主题的帖子: matrix 
2013-10-08 15:09
Sicgl
Rank: 2
等 级:论坛游民
帖 子:17
专家分:61
注 册:2013-10-8
收藏
得分:0 
你可以去学学搜索...!

Sky!.......忘了说,如果灌水严重...不小心上榜了...大家别投我票...!
2013-10-08 15:16
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
收藏
得分:0 
搜索?你说百度搜索还是那个程序的名字叫搜索阿??我试着搜过,不过我不知道中文应该对应的是哪一类问题阿
2013-10-09 01:27
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
收藏
得分:0 
up up
2013-10-09 01:27
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
作业要自己做
2013-10-09 07:19
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
收藏
得分:0 
是自己在做阿,不过不懂recursion 应该怎么写,我有思路不过不知道如何下手阿,
没有类似的联系题或者解体思路嘛??我想的是写一个find来找1,找到之后就跳到下一排的1,不过我不知道怎么让它跳到和上一排相连接的1,也就是a-b,下面应该到b-a相连的1而不是跳到任意一个地方去,,然后我应该要反复的检查看有没有1出现,有就继续走下去
2013-10-09 14:05
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:20 
深度优先搜索 dfs
2013-10-09 15:19
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
收藏
得分:0 
include <stdio.h>

int check(int grid[12][12],int row);
int find_route(int grid[12][12],int row,int sum);

int main()
{
    int sum=0;
    int subway[12][12]={   
        {0,1,0,0,0,0,0,0,0,0,0,0},
        {1,0,1,1,1,1,0,0,0,0,0,0},
        {0,1,0,0,1,0,0,0,0,0,0,0},
        {0,1,0,0,1,0,0,0,0,0,0,0},
        {0,1,1,1,0,0,1,1,0,0,0,0},
        {0,1,0,0,0,0,0,1,0,0,0,0},
        {0,0,0,0,1,0,0,0,0,0,1,0},
        {0,0,0,0,1,1,0,0,1,1,1,0},
        {0,0,0,0,0,0,0,1,0,0,1,0},
        {0,0,0,0,0,0,0,1,0,0,1,0},
        {0,0,0,0,0,0,1,1,1,1,0,1},
        {0,0,0,0,0,0,0,0,0,0,0,0},
        };
    find_route(subway,0,sum);
    printf("%d",sum);
};//main



int check(int grid[12][12],int row){
    int i;
    for (i=0;i<12;i++){
        if (grid[i][row]==1){
            return i;
        }//if statement
        else if (i==11){
            return 12;
        }// else if
            
    };//for loop
};//check


int find_route(int grid[12][12],int row, int sum){
    int col= check(grid,row);
    printf("position is %d %d\n",row,col);
   
    if (row==11){
        sum++;
    }
        //find the path and prit out everthing
    else if (col==12){
            return 0;
        //dead end
    }
    else{
        grid[row][col]=0;
        grid[col][row]=0;
        find_route(grid,col,sum);
        
        
    }
};

大家我又回来了,,我大概写出了一些,,不过我的只能找出一条路,按道理应该有上百种呢,我试着printf我的路径发现,只走了一条,我感觉,我应该再最后的else那,把我已经改过的0变回1,但是我不知道应该怎么放?而且那个recursion function findroute 应该再多重复召唤几次,可是我应该改些什么才能重复召唤呢?我应该怎么寸我的char,然后printf出用字母表示的路径呢?谢谢大神们
2013-10-09 16:59
优越性
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-10-8
收藏
得分:0 
我终于懂大家意思了,原来深度优先搜索 dfs,是一个专用词,不过我查了,都没有比较我能看懂的,都不知道写的是什么,感觉都不是用c语言写的呢
2013-10-09 17:11
怪叔叔
Rank: 4
来 自:陕西
等 级:业余侠客
威 望:1
帖 子:113
专家分:234
注 册:2013-9-22
收藏
得分:0 
看看数据结构里的图吧亲
2013-10-09 19:12
快速回复:地铁问题应该怎么弄,using 矩阵
数据加载中...
 
   



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

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