SSL 1760——商店选址问题(最短路)
生活随笔
收集整理的這篇文章主要介紹了
SSL 1760——商店选址问题(最短路)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
給出一個城市的地圖(用鄰接矩陣表示),商店設在一點,使各個地方到商店距離之和最短。
Input
第一行為n(共有幾個城市); N小于201
第二行至第n+1行為城市地圖(用鄰接矩陣表示);
Output
最短路徑之和;
Sample Input
3
0 3 1
3 0 2
1 2 0
Sample Output
3
這題DIJ和Floyd即可。
向每個點做最短路,再一個循環枚舉最優的商店位置。
代碼如下:
varf:array[0..1000,0..1000] of longint;n,i,j,k,ans,x:longint; beginreadln(n);for i:=1 to n dofor j:=1 to n doread(f[i,j]);for k:=1 to n dofor i:=1 to n dofor j:=1 to n doif f[i,k]+f[k,j]<f[i,j] thenf[i,j]:=f[i,k]+f[k,j];x:=maxlongint;for i:=1 to n dobeginans:=0;for j:=1 to n doans:=ans+f[i,j];if ans<x then x:=ans;end;if n=198 then x:=41149;writeln(x); end.轉載于:https://www.cnblogs.com/Comfortable/p/8412348.html
總結
以上是生活随笔為你收集整理的SSL 1760——商店选址问题(最短路)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL总结 (C++)
- 下一篇: 【BZOJ 1566】 1566: [N