1,题意:原来道路连通图,现在几条路坏了,要求点m和n必须连通,求出最小的代价.
2,解决:转化Dijkstra算法,原来连通的权值设为0,求m和n的最短路径.
3,实现代码:
#include <iostream>
using namespace std;
const int maxN=101;
const int inf=100000000;
int graph[maxN][maxN]; //无向图
int dis[maxN];//距离矩阵 到顶点的距离
bool use[maxN];//标志点是否处理
int graph2[maxN][maxN]; //无向图
int cnt; //测试数目
int vNum;//顶点数
int eNum;//边数
void dijk(int s)
{
for(int i=1;i<=vNum;i++)
{
dis[i]=inf;
use[i]=false;
}
int u,temp;
while(1)
{
temp=inf;
dis[s]=0;
for(int i=1;i<=vNum;i++)
{
if(!use[i]&&dis[i]<temp)
{
temp=dis[i];
u=i;
}
}
if(temp==inf) break;
use[u]=true;
for(int i=1;i<=vNum;i++)
{
if( !use[i] && graph2[u][i]!=-1 && dis[i]>dis[u]+graph2[u][i] )
dis[i]=dis[u]+graph2[u][i];
}
}
}
int main()
{
freopen("4.9.in","r",stdin);
int x,y,d;
int dnum;//破坏的道路数
int s,t;
while(cin>>vNum,vNum)
{
memset(graph,-1,sizeof(graph));
cin>>eNum;
while(eNum--)
{
cin>>x>>y>>d;
graph[x][y]=graph[y][x]=d;
}
for(int i=1;i<=vNum;i++)
for(int j=1;j<=vNum;j++)
{
if(graph[i][j]==-1) graph2[i][j]=-1;
else graph2[i][j]=0;
}
cin>>dnum;
while(dnum--)
{
cin>>x>>y;
graph2[x][y]=graph2[y][x]=graph[x][y];
}
cin>>s>>t;
dijk(s);
cout<<dis[t]<<endl;
}
return 0;
}
分享到:
相关推荐
国际大学生程序设计竞赛例题解.三:图论、动态规划算法、综合题专集
本系列丛书包括《ACM国际大学生程序设计竞赛:知识与入门》、《ACM国际大学生程序设计竞赛:算法与实现》、《ACM国际大学生程序设计竞赛:题目与解读》、《ACM国际大学生程序设计竞赛:比赛与思考》等4册,其中《ACM...
国际大学生程序设计竞赛例题解(六) 广东省大学生程序设计竞赛例题解析
第二本:国际大学生程序设计竞赛例题解 2 广东省大学生程序设计竞赛试题 2003-2005年 第三本:国际大学生程序设计竞赛例题解 3 图论·动态规划算法·综合题专集 第四本:国际大学生程序设计竞赛例题解 4 广东省...
此资源压缩包分为两卷,此卷为part1。 《ACM国际大学生程序设计竞赛:题目与解读》讲述了ACM国际大学生程序设计竞赛(ACM—...《ACM国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路。
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
国际大学生程序设计竞赛例题解二,分享给大家!
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
国际大学生程序设计竞赛例题解.一:数论、计算几何、搜索算法专集.
国际大学生程序设计竞赛例题解 广东省大学生程序设计竞赛试题,搞ACM,信息学竞赛的同学都用得着!
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
本系列丛书包括《acm国际大学生程序设计竞赛:知识与入门》、《acm国际大学生程序设计竞赛:算法与实现》、《acm国际大学生程序设计竞赛:题目与解读》、《acm国际大学生程序设计竞赛:比赛与思考》等4册,其中《acm...
为了帮助高等院校的大学生们备战国际大学生程序设计竞赛,帮助他们提高程序设计水平和培养更强的分析问题和解决问题的能力,我们编写了这本辅导教材。本书所用的语言是Pascal(Delphi)。全书共分六章,第1章先介绍...
中国大学生数学建模竞赛题解_matlab
此资源压缩包分为两卷,此卷为part2。 《ACM国际大学生程序设计竞赛:题目与解读》讲述了ACM国际大学生程序设计竞赛(ACM—...《ACM国际大学生程序设计竞赛:题目与解读》为各类算法配备经典例题及题库,并提供解题思路。
国际大学生程序设计竞赛(ACM)例题解析合集八本1-8,设计到各类算法的方方面面,包括动态规划、图论、搜索算法等。对于做算法开发的程序员很有参考意义。 附件为百度网盘永久链接地址。
国际大学生程序设计竞赛例题解 6 广东省大学生程序设计竞赛试题解 2008-2009年 郭嵩山 电子工业出版社
国际大学生程序设计竞赛例题解赛试题(一)