洛谷 P2910 [USACO08OPEN]尋寶之路Clear And Present Danger floyd
阿新 • • 發佈:2018-12-06
floyd的模板題
#include<iostream> using namespace std; const int inf=99999999; int dp[105][105]; int a[10005]; int n,m; void solve() { cin>>n>>m; int i,j,k; for(i=1;i<=n;i++)for(j=1;j<=n;j++)dp[i][j]=inf; for(i=1;i<=m;i++)cin>>a[i]; for(i=1;i<=n;i++) {for(j=1;j<=n;j++) { int b; cin>>b; dp[i][j]=b; } } for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]); int ans=0; for(i=2;i<=m;i++)ans+=dp[a[i-1]][a[i]]; cout<<ans<<endl; } int main() { solve(); }