#include
#include
#define MAX 100
#define infinity 100
typedef struct
{
int vexs[MAX];
int arcs[MAX][MAX];
int arc_count,vex_count;
}graph;
typedef struct
{
int weight;
int visited;
}lnode;
typedef struct
{
int vertex;
int length;
int prevex;
}path;
int main()
{
graph p;
path dist[MAX];
scanf("%d %d",&p.vex_count,&p.arc_count);
for(int i=0;idist[minvex].length+p.arcs[minvex][j]) {
dist[j].length=dist[minvex].length+p.arcs[minvex][j];
dist[j].prevex=minvex;
}
}
if(dist[note].length==MAX)
dist[note].length=-1;
printf("1 %d %d\n",note+1,dist[note].length);
}
return 0;
}
//test
/*
6 11
1 2 50
1 3 10
1 5 45
2 3 15
2 5 10
3 1 20
3 4 15
4 2 20
4 5 35
5 4 30
6 4 3
*/
/*output
1 3 10
1 4 25
1 2 45
1 5 45
1 6 -1
*/
写的不好,凑合看一下,但是确实自己写的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)