fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. #define inf 1000000000
  6. ll mat[105][105];
  7.  
  8.  
  9. int main()
  10. {
  11. ll i,j,n,m,t,k,a,b,c;
  12.  
  13. scanf("%lld",&t);
  14.  
  15. for(ll cz=0;cz<t;cz++){
  16. scanf("%lld%lld",&n,&m);
  17.  
  18. for(i=0;i<n;i++){
  19. for(j=0;j<n;j++){
  20. mat[i][j]=inf;
  21.  
  22. if(i==j) mat[i][j]=0;
  23. }
  24. }
  25.  
  26. for(i=0;i<m;i++){
  27. scanf("%lld%lld",&a,&b);
  28. mat[a][b]=1;
  29. mat[b][a]=1;
  30. }
  31. scanf("%lld%lld",&a,&b);
  32. for(k=0;k<n;k++){
  33. for(i=0;i<n;i++){
  34. for(j=0;j<n;j++){
  35. if(mat[i][j]>mat[i][k]+mat[k][j]){
  36. mat[i][j]=mat[i][k]+mat[k][j];
  37. }
  38. }
  39. }
  40. }
  41. ll ans=0;
  42. for(i=0;i<n;i++){
  43. ans=max(ans,mat[a][i]+mat[i][b]);
  44. }
  45.  
  46. printf("Case %lld: %lld\n",cz+1,ans);
  47. }
  48. }
Success #stdin #stdout 0s 4704KB
stdin
2

4

3

0 1

2 1

1 3

0 3

2

1

0 1

1 0
stdout
Case 1: 4
Case 2: 1