回 帖 发 新 帖 刷新版面

主题:[讨论]校园景点问题

校园景点问题
★实验任务
刚来到大学,斌斌想在校园里到处溜达。他搞到了一张地图,从地图上他了解了一些景点之间的路线和距离。但是地图比较简略,在地图上只标出了很少的路。这张地图还有一个特点,就是地图上没有回路。地图上没有标出的路,斌斌自然不敢走,因为校园太大了,他怕迷路,所以他认为这两点间没有路。斌斌很懒,他不想走太多路,于是他求助于计算机专业的你。
对于给出的地图信息,求给出的两点间的最短距离。
★数据输入
第一行三个整数n,m,Q,2<=n<=10000,0<=m<=10000,1<=Q<=100000,n表示景点个数,编号为1到n,m表示地图上的m条路。
接下来有m行,每行两个整数a,b,d,表示a和b之间有一条距离为d的路。
接下来有Q行,每行两个整数a,b,询问景点a和景点b之间的道路最短距离。
★数据输出
输出包括Q行,每行对应回答一个询问,如果存在道路,输出最短距离,否则输出“Not connected”。
输入示例
4 2 3
1 2 1
2 3 2
1 3
1 4
3 2
输出示例
3
Not connected
2

回复列表 (共1个回复)

沙发

    
 
     
       for(k=1;k<=n;k++)    
        for(i=1;i<=n;i++)    
            for(j=1;j<=n;j++)   
                if(shortest[i][j]>(shortest[i][k]+shortest[k][j]))    
                {   
                    shortest[i][j]=shortest[i][k]+shortest[k][j];   
                    shortest[j][i]=shortest[i][k]+shortest[k][j];   
                    }     
          
  随便忽悠下 可能会超时[em19]

我来回复

您尚未登录,请登录后再回复。点此登录或注册