NOIP2013货车运输。仅仅只是数据范围小了很多。
不到150s打完而且AC。
。
额。当然。我写的是Floyd。
写LCA的真过分。
#include <cstdio> #include <cstring> #include <algorithm> #define N 305 #define inf 0x3f3f3f3f using namespace std; int n,m,q; int map[N][N]; int main() { // freopen("test.in","r",stdin); int i,j,k; int a,b,c; scanf("%d%d%d",&n,&m,&q); memset(map,0x3f,sizeof(map)); for(i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&c); map[a][b]=min(map[a][b],c); } for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++)map[i][j]=min(map[i][j],max(map[i][k],map[k][j])); for(i=1;i<=q;i++) { scanf("%d%d",&a,&b); printf("%d ",map[a][b]<inf?map[a][b]:-1); } return 0; }