Advertisement
xDefo

Attrazioni(2013)

Nov 14th, 2016
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <stdio.h>
  4.  
  5.  
  6. using namespace std;
  7. vector <vector <int > >adj;
  8. vector <pair <int, int > >archi;
  9. vector <int> attrazioni;
  10. vector <bool> visitato;
  11.  
  12. void dfs ( int n)
  13. {
  14. visitato[n]= true;
  15. for(vector<int>::iterator it=adj[n].begin(); it!=adj[n].end(); it++)
  16. {
  17. if(!visitato[*it])
  18. {
  19. dfs(*it);
  20. }
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. int N , A, Mg ,Mb ,Mt;
  27. freopen ("input.txt", "r", stdin);
  28. freopen ("output.txt", "w", stdout);
  29. cin>>N;
  30. cin>>A;
  31. cin>>Mg;
  32. cin>>Mb;
  33. cin>>Mt;
  34. for ( int i=0;i<A;i++)
  35. {
  36. int temp;
  37. cin>>temp;
  38. attrazioni.push_back(temp);
  39. }
  40. for(int i=0;i<(Mg+Mb+Mt);i++)
  41. {
  42. int temp;
  43. int temp1;
  44. cin>>temp;
  45. cin>>temp1;
  46. archi.push_back(make_pair(temp,temp1));
  47. }
  48. visitato.resize(N,false);
  49. adj.resize(N);
  50. for(int i=0;i<Mg;i++)
  51. {
  52. int temp;
  53. int temp1;
  54. temp=archi[i].first;
  55. temp1 = archi[i].second;
  56. adj[temp].push_back(temp1);
  57. adj[temp1].push_back(temp);
  58. }
  59. dfs(0);
  60. int conta=0;
  61. for(int i= 0;i<A;i++)
  62. {
  63. if(visitato[attrazioni[i]])
  64. {
  65. conta += 1;
  66. }
  67. }
  68. cout<<conta<<endl;
  69. visitato.clear();
  70. visitato.resize(N,false);
  71. for(int i=0;i<N;i++)
  72. {
  73. adj[i].clear();
  74. }
  75. adj.clear();
  76. adj.resize(N);
  77. for(int i=0;i<(Mg+Mb);i++)
  78. {
  79. int temp;
  80. int temp1;
  81. temp=archi[i].first;
  82. temp1 = archi[i].second;
  83. adj[temp].push_back(temp1);
  84. adj[temp1].push_back(temp);
  85. }
  86. dfs(0);
  87. conta =0;
  88. for(int i= 0;i<A;i++)
  89. {
  90. if(visitato[attrazioni[i]])
  91. {
  92. conta += 1;
  93. }
  94. }
  95. cout<<conta<<endl;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement