比赛 期末考试3 评测结果 EEEEEEEEEEEEEEEEEEEE
题目名称 hope I can jump 最终得分 0
用户昵称 zcx 运行时间 3.676 s
代码语言 C++ 内存使用 3.64 MiB
提交时间 2026-02-11 11:27:20
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int const N=302;
int g[N][N],d[N][N];
int main()
{
	freopen("hopeicanjump.in","r",stdin);
	freopen("hopeicanjump.out","w",stdout);
	int n,q;
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++) cin>>g[i][j];
	}
	while(q--){
		int s,t,p;
		cin>>s>>t>>p;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++) d[i][j]=g[i][j];
		}
		for(int k=1;k<=n;k++){
			if(k==p) continue;
			for(int i=1;i<=n;i++){
				if(i==p||k==i) continue;
				for(int j=1;j<=n;j++){
					if(j==p||i==j || j==k) continue;
					d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
				}
			}
		}
		cout<<d[s][t]<<endl;
	}
	return 0;
}