HAUTOJ 1262 魔法宝石

xiaoxiao2021-02-27  257

题目链接:HAUTOJ 1262

很简单的一道题 就是注意 需要循环N次 直到最小的不再发生变化

#include<iostream> using namespace std; int main() { int T; cin>>T; while(T--) { int n,m,s[100005],q[100005][3],i,j,k,min[100005],sum; cin>>n>>m; for(i=1;i<=n;i++) { cin>>s[i]; min[i]=s[i]; } for(i=1;i<=m;i++) cin>>q[i][0]>>q[i][1]>>q[i][2]; int o=50; //控制循环,直到最小的不再变化 while(o--) for(i=1;i<=m;i++) { sum=min[q[i][0]]+min[q[i][1]]; if(sum<min[q[i][2]])min[q[i][2]]=sum; } cout<<min[1]; for(i=2;i<=n;i++) cout<<" "<<min[i]; cout<<endl; } return 0; }

转载请注明原文地址: https://www.6miu.com/read-8867.html

最新回复(0)