Advertisement
Farjana_akter

Untitled

Mar 11th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. vector<int>connect[200000];
  6. int mafia[200000],moves,ager[200000],porer[200000];
  7.  
  8. void traverse(int cno,int par)
  9. {
  10. ager[cno]=1;
  11.  
  12. for(int i=0;i<connect[cno].size();i++)
  13. {
  14. int child=connect[cno][i];
  15. if(child==par)
  16. continue;
  17. traverse(child,cno);
  18. ager[cno]+=ager[child];
  19. mafia[cno]+=mafia[child];
  20. moves+=(abs(mafia[child]-ager[child]));
  21.  
  22. }
  23. }
  24.  
  25.  
  26. int main()
  27. {
  28. int t,cas,city,n,a,b,c,d,x,y;
  29. cin>>t;
  30. for(cas=1;cas<=t;cas++)
  31. {
  32. cin>>n;
  33. moves=0;
  34. for(int i=0;i<n;i++)
  35. {
  36. connect[i].clear();
  37. }
  38. while(n--)
  39. {
  40. cin>>city;
  41. cin>>mafia[city]>>x;
  42. while(x--)
  43. {
  44. cin>>a;
  45. connect[city].push_back(a);
  46. connect[a].push_back(city);
  47. }
  48. }
  49. traverse(1,0);
  50.  
  51. cout<<"Case "<<cas<<": "<<moves<<endl;
  52. }
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement