P1119求解
  • 板块灌水区
  • 楼主cxoi1004
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/17 19:49
  • 上次更新2023/11/2 13:13:40
查看原帖
P1119求解
427117
cxoi1004楼主2023/10/17 19:49

题目

不知道为什么,WA光了,感觉没啥问题啊。

#include<bits/stdc++.h>
using namespace std;
#define jntm 1e12
int n,m,q,t[201];
int f[201][201];
int u,v,www;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++) f[i][j]=jntm;
	for(int i=1;i<=n;i++) cin>>t[i];
	for(int i=1;i<=m;i++){
		cin>>u>>v>>www;
		f[u][v]=www;
		f[v][u]=www;
	}
	cin>>q;
	int x=0;
	while(q--){
		cin>>u>>v>>www;
		if(t[u]>www||t[v]>www){
			cout<<"-1\n";			
			continue;
		}
		while(t[x]<=www&&x<=n){
			for(int i=1;i<=n;i++)
				for(int j=1;j<=n;j++)
					f[i][j]=min(f[i][j],f[i][x]+f[x][j]);
			x++;
		}
		if(f[u][v]==jntm){
			cout<<"-1\n";
			continue;
		}
		cout<<f[u][v]<<"\n";
	}
	return 0;
}
2023/10/17 19:49
加载中...