- 29
- 0
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAX 0x3f3f3f3f
#define vexnum 10000
typedef struct n{
int Adjmatrix[11111][11111];
}MG;
int flag[11111] = {0},n,m;
MG x;
int random_num()
{
int ran;
ran = rand() % 10000 + 1;
return ran;
}
void Dij(int t[],int lw[])
{
int i,j,k,min;
for(i = 1; i <= vexnum; i++){
lw[i] = x.Adjmatrix[1][i];
t[i] = 1;
}
t[0] = -1;
flag[1]=1;
for( i=2 ; i <= vexnum ; i++){
min = MAX;
for( j=1 ; j<=vexnum ; j++ ){
if( !flag[j] && lw[j]<min ){
min = lw[j];
k = j;
}
}
flag[k] = 1;
for( j=2; j<=vexnum ; j++){
if( !flag[j] && min+x.Adjmatrix[k][j] < lw[j] ){
lw[j] = min + x.Adjmatrix[k][j];
t[j] = k;
}
}
}
}
int main()
{
int i,j,sum=0;
int path[11111],lowcost[11111];
int u,v,w,pre;
srand( (unsigned)time( NULL ) );
//建立矩阵
for(i=1;i<=vexnum;i++)
for(j=1;j<=vexnum;j++){
x.Adjmatrix[i][j] = MAX;
}
for(i = 1; i <= vexnum; i++){
m = random_num();
for(j = 1;j <= m; j++){
v = random_num();
w = random_num();
if(x.Adjmatrix[i][v] > w && i != v){
x.Adjmatrix[i][v] = w;
}
}
}
Dij(path,lowcost);
for(i = 2; i <= vexnum; i++){
sum = sum + lowcost[i];
}
printf("%d\n",sum);
freopen( "lowcost.txt", "w", stdout );
for(i = 1; i <= vexnum; i++){
printf("lowcost[%d] : %d\n",i,lowcost[i]);
}
freopen( "path.txt", "w", stdout );
for(i = 1; i <= vexnum; i++){
pre = i;
printf("v1--v%d : %d\n",pre,lowcost[i]);
if(lowcost[i] == MAX){
printf("v1 to v%d has no shortest path\n",i);
}
else{
do{
printf("v%d<--",pre);
pre = path[pre];
}while(pre != 1);
printf("v1\n");
}
}
return 0;
}
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
