不会写,照着一篇tj打的
  • 板块P1119 灾后重建
  • 楼主Aya_tt
  • 当前回复9
  • 已保存回复9
  • 发布时间2022/7/30 22:52
  • 上次更新2023/10/27 17:39:37
查看原帖
不会写,照着一篇tj打的
744562
Aya_tt楼主2022/7/30 22:52
#include<bits/stdc++.h>
using namespace std;
int cnt,t[210],n,m,tim[210],vis[210],G[210][210];
int main(){
	memset(G,1000000,sizeof(G));
    cin>>n>>m;
    for(int i = 0;i < n;i++){
        cin>>t[i];
        G[i][i] = 0;
    }
    for(int i = 1;i <= m;i++){
        int a,b,c;
        cin>>a>>b>>c;
        G[a][b] = G[b][a] = c;
    }
    int l;
    cin>>l;
	while(l--){
		int a,b,c;
		cin>>a>>b>>c;
		for(int k = 0;k < n;k++){
			if(t[k] <= c && !vis[k]){
				vis[k] = 1;
			 	for(int i = 0;i < n;i++)
					for(int j = 0;j < n;j++)
						if(G[i][j] > G[i][k] + G[k][j])
							G[i][j] = G[i][k] + G[k][j];
			}
		}
		if (t[a] <= c && t[b] <= c && G[a][b] < 1000000) cout<<G[a][b]<<endl;
        else cout<<-1<<endl;
	}
}

不知道错哪了,求调 rt

2022/7/30 22:52
加载中...