做一道题:
//Author:PanDaoxi #includeusing namespace std; int e[101][101]; int book[101]; //标记数组 int dis[101]; //储存出发点到终点的 结果 int n,m,s; int p,q,t; int inf=10001; int min_=0; int main(){ cin>>n>>m>>s; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j) e[i][j]=0; else e[i][j]=inf; } } for(int i=1;i<=m;i++){ cin>>p>>q>>t; e[p][q]=t; } //迪杰斯特拉算法 book[s]=1; //起点使用 //初始化最优解数组 for(int i=1;i<=n;i++){ dis[i]=e[s][i]; } int u; //找到最短线 for(int i=1;i dis[u]+e[u][v]){ dis[v]=dis[u]+e[u][v]; } } } } for(int i=1;i<=n;i++){ cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)