您的位置:首页 > 其它

poj 1797 Heavy Transportation

2011-08-06 20:07 369 查看
#include <iostream>
#include <stdio.h>
#include <queue>
#define N 1005
using namespace std;
int a

;
int n;
int d
;
bool f
;
void dij(){
int i,j;
memset(f,0,sizeof(f));
for(i=1;i<=n;i++){
d[i]=a[1][i];
}
f[1]=1;
for(i=1;i<n;i++){
int max=-1;
int u;
for(j=1;j<=n;j++){
if(!f[j]&&d[j]>max){
max=d[j];
u=j;
}
}
f[u]=1;
for(j=1;j<=n;j++){
if(!f[j]){
if(a[u][j]>=max)
d[j]=max;
if(a[u][j]<max){
if(a[u][j]>d[j])
d[j]=a[u][j];
}
}
}
}
}
int main(){
int t;
cin>>t;
int i;
for(i=1;i<=t;i++){
memset(d,0,sizeof(d));
cin>>n;
memset(a,0,sizeof(a));
int m;
cin>>m;
while(m--){
int st1,st2,w;
cin>>st1>>st2>>w;
a[st1][st2]=w;
a[st2][st1]=w;
}
dij();
printf("Scenario #%d:\n",i);
printf("%d\n\n",d
);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: