Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define int int64_t
  3. using namespace std;
  4.  
  5. int ms[3007][3007];
  6.  
  7. int32_t main()
  8. {
  9. srand(time(NULL));
  10. ios_base::sync_with_stdio(0);
  11. int n;
  12. for (int i = 0; i < 3007; i ++)
  13. for (int j = 0; j < 3007; j ++)
  14. ms[i][j] = 0;
  15. cin >> n;
  16. for (int i = 0; i < n - 1; i ++)
  17. {
  18. int u, v;
  19. cin >> u >> v;
  20. ms[u][v] = 1;
  21. }
  22. vector<int> per;
  23. for (int i = 1; i <= n; i ++)
  24. per.push_back(i);
  25. int res = 0;
  26. do
  27. {
  28. bool ok = 1;
  29. map<int, int> pos;
  30. for (int i = 0; i < per.size(); i ++)
  31. pos[per[i]] = i;
  32. for (int i = 1; i <= n; i ++)
  33. for(int j = 1; j <= n; j ++)
  34. {
  35. if (i == j) continue;
  36. if (ms[i][j] && pos[i] > pos[j]) ok = 0;
  37. }
  38. if (ok)res++;
  39. }
  40. while (next_permutation(per.begin(), per.end()));
  41. cout << res;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement