Advertisement
kcku

11463 - Commandos

Aug 10th, 2014
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5.     int cases;
  6.     scanf("%d", &cases);
  7.  
  8.     for(int n, m, cnt=1; cnt<=cases && scanf("%d%d", &n, &m); cnt++)
  9.     {
  10.         int arr[n][n], s, t, ans=0;
  11.  
  12.         for(int i=0; i<n; i++)
  13.             for(int j=0; j<n; j++)
  14.                 arr[i][j]=i==j?0:1e9;
  15.  
  16.         for(int a, b; m-- && scanf("%d%d", &a, &b);)
  17.             arr[a][b]=arr[b][a]=1;
  18.  
  19.         scanf("%d%d", &s, &t);
  20.  
  21.         for(int k=0; k<n; k++)
  22.             for(int i=0; i<n; i++)
  23.                 for(int j=0; j<n; j++)
  24.                     if(arr[i][j]>arr[i][k]+arr[k][j])
  25.                         arr[i][j]=arr[i][k]+arr[k][j];
  26.  
  27.         for(int i=0; i<n; i++)
  28.             if(ans<arr[s][i]+arr[i][t])
  29.                 ans=arr[s][i]+arr[i][t];
  30.  
  31.         printf("Case %d: %d\n", cnt, ans);
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement