P2910 Clear And Present Danger S

点击查看代码
#include<bits/stdc++.h>
using namespace std;

const int N=110;
const int M=10010;
int n,m;
int p[N];
int dist[N][N];
long long ans;

int main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>p[i];
    }

    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>dist[i][j];
        }
    }

    for(int k=1;k<=n;k++){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                dist[i][j]=dist[i][k]+dist[k][j];
            }
        }
    }

    for(int i=1;i<m;i++){
        ans+=dist[p[i]][p[i+1]];        
    }

    cout<<ans;
    
    
}
posted @ 2026-01-18 21:52  AnoSky  阅读(0)  评论(0)    收藏  举报