#include #include #define large(a,b)(a>b?a:b) #define INF 0x3f3f3f #define max 1000+10 int map[max][max],start[max],end[max]; int n,s,d; void floyd(int n) { int i,j,k; for(k=1;k<=n;k++) { for(i=1;i<=n;i++) { if(map[k][i]==INF) continue; for(j=1;j<=n;j++) { if(map[i][j]>map[i][k]+map[k][j]) map[i][j]=map[i][k]+map[k][j]; } } } } int main() { int i,j,x,y,c,m,time; while(scanf("%d%d%d",&n,&s,&d)!=EOF) { for(i=1;ic) map[x][y]=map[y][x]=c; } for(i=0;imap[start[i]][end[j]]) time=map[start[i]][end[j]]; } } printf("%d\n",time); } return 0; }