//反过来找比较简单
#include <cstdio>
#include <iostream>
#include <string.h>
using namespace std;
double map[110][110];
double weight[110];
double dist[110];
void dijkstar(int sta,int n)
{int i,j,mark;double maxi;bool flag[100];memset(flag,0,sizeof(flag));memset(dist,0,sizeof(dist));flag[sta]=1;dist[sta]=1;for(i=1;i<=n;i++){maxi=-1;for(j=1;j<=n;j++){if(!flag[j]){if(map[sta][j]!=-1&&dist[j]<dist[sta]*map[sta][j])dist[j]=dist[sta]*map[sta][j];else if(map[......
阅读全文