| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:遍历了所有路径,如何加入路径和?
取消只看楼主 加入收藏
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:1 
遍历了所有路径,如何加入路径和?
程序代码:
#include<stdio.h>
#include<math.h>
int map[100][100]={0};
int stack[120],v[100]={0},top=0,m,n,start,end,L[100],Length=0;
void dfs(int pos)
{
    int i;
    if(pos==end){
        for(i=0;i<top;i++)
            printf("%d ",stack[i]);
        printf("%d\n",end);    
        for(i=0;i<top;i++)
        Length=L[stack[i]]+Length; 
        printf("%d\n",Length);
        return;
    }
    v[pos]=1;
    stack[top++]=pos; 
    for(i=1;i<=n;i++){
        if(!v[i]&&map[pos][i])
            dfs(i);
    }
    v[pos]=0;
    top--;
}

int main()
{
    int i,x,y,z;
    printf("分别输入顶点数n和路径数m:"); 
    scanf("%d %d",&n,&m);//n是顶点数,m是边数 
    
    printf("输入m条路径及长度:"); 
    for(i=1; i<=m; i++) {
        scanf("%d %d %d", &x,&y,&z);
        L[i]=z;
        map[x][y] = 1; 
        map[y][x] = 1;//无向图
    }
    
    printf("输入起始点和终点:");
    scanf("%d %d", &start,&end);
    
    printf("\n程序执行结果为:\n"); 
    dfs(start);
    return 0;}

不知道该怎么改求路径和?想得出每个路径的总长度,知道L[]的代码有问题,不知道怎么改?
搜索更多相关主题的帖子: printf i++ 路径 Length int 
2023-08-29 19:56
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
没人会嘛?
2023-09-01 21:34
快速回复:遍历了所有路径,如何加入路径和?
数据加载中...
 
   



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

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