Advertisement
Saleh127

Light oj(LO) 1174

Jan 18th, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5.  
  6. ll d1[10000],d2[10000];
  7. vector<ll>g[10000];
  8. bool v[10000];
  9.  
  10. void bfs(ll x,ll d[])
  11. {
  12. queue<ll>q;
  13. q.push(x);
  14. v[x]=1;
  15. d[x]=0;
  16. while(q.empty()==false)
  17. {
  18. ll u=q.front();
  19. q.pop();
  20. for(auto i:g[u])
  21. {
  22. if(v[i]==0)
  23. {
  24. d[i]=d[u]+1;
  25. v[i]=1;
  26. q.push(i);
  27. }
  28. }
  29. }
  30. }
  31.  
  32. int main()
  33. {
  34. ios_base::sync_with_stdio(0);
  35. cin.tie(0);
  36. cout.tie(0);
  37.  
  38. test
  39. {
  40. ll s,d,n,m,i,j,k,l,a,b;
  41. cin>>n>>m;
  42. for(i=0; i<m; i++)
  43. {
  44. cin>>a>>b;
  45. g[a].push_back(b);
  46. g[b].push_back(a);
  47. }
  48. cin>>a>>b;
  49.  
  50. bfs(a,d1);
  51.  
  52. memset(v,0,sizeof(v));
  53.  
  54. bfs(b,d2);
  55.  
  56. l=0;
  57.  
  58. for(i=0; i<n; i++)
  59. {
  60. l=max(l,(d1[i]+d2[i]));
  61. }
  62. cout<<"Case "<<cs<<": "<<l<<endl;
  63.  
  64. for(i=0; i<n+5; i++)
  65. {
  66. g[i].clear();
  67. v[i]=0;
  68. d1[i]=0;
  69. d2[i]=0;
  70. }
  71.  
  72. }
  73.  
  74.  
  75. return 0;
  76. }
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement