Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <list>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. void countPathsUtil(vector<vector<int>>& gr, int v, int end, vector<bool>& visited, int &pathCount)
  8. {
  9. visited[v] = true;
  10.  
  11. if (v == end)
  12. pathCount++;
  13. else
  14. {
  15. for (auto i : gr[v])
  16. if (!visited[i])
  17. countPathsUtil(gr, i, end, visited, pathCount);
  18. }
  19.  
  20. visited[v] = false;
  21. }
  22.  
  23. int main()
  24. {
  25. int n, m;
  26. cin >> n >> m;
  27. vector<vector<int>> gr(n + 1);
  28. int a, b;
  29. for (int i = 0; i < m; i++)
  30. {
  31. cin >> a >> b;
  32. gr[a].push_back(b);
  33. }
  34. int start, end;
  35. cin >> start >> end;
  36.  
  37. vector<bool> visited(gr.size());
  38.  
  39. int pathCount = 0;
  40. countPathsUtil(gr, start, end, visited, pathCount);
  41. cout << pathCount << '\n';
  42.  
  43. int yy;
  44. cin >> yy;
  45. return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement