您的位置:首页 > 其它

poj 3615

2015-08-25 13:13 344 查看
一直WA的。。。

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAX = 40000;
const int AR = 300;
int dis[AR][AR],t[MAX];
int main(){
int N,M,T,Si,Ei;
int i,j,k,a,b;
scanf("%d %d %d",&N,&M,&T);
int q;
q=2*T;
memset(dis,-1,sizeof(dis));
memset(t,0,sizeof(t));

for ( i = 0; i < M; ++i ){
scanf("%d %d",&a,&b);
scanf("%d",&dis[a][b]);
dis[b][a]=dis[a][b];
}
/*
for ( i = 0; i < M; ++i ){
printf("%d\n",dis[i][i+1]); printf("%d\n",dis[i][j]);
}*/
for ( i = 0; i < N; ++i )
for ( j = 0; j < N; ++j )
for ( k = 0; k < N; ++k )
{if(dis[i][j]>0&&dis[i][k]>0&&dis[k][j]>0)
if ( dis[k][j] < dis[i][j] &&dis[i][k] < dis[i][j] )
dis[i][j] =max (dis[i][k] , dis[k][j]);

}
for ( i = 0; i < q; ++i ){
scanf("%d %d",&t[i],&t[i+1]);
i++;
}
for ( i = 0; i < q; ++i ){
a = t[i];
b=t[i+1];
printf("%d\n",dis[a][b]);
i++;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: