achulkov2

Untitled

Apr 15th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. long long n, s, t = 1, a, b, sum = 0;
  7. vector<long long> G;
  8. vector<int> v;
  9.  
  10. void Eulerian(int q){
  11. for(int k = 1; k <= n; k++){
  12. if (G[q][k] > 0){
  13. G[q][k]--;
  14. G[k][q]--;
  15. Eulerian(k);
  16. }
  17. }
  18. v.push_back(q);
  19. }
  20.  
  21. int main() {
  22. cin >> n;
  23. G.assign(n + 1, vector<int>(n + 1, 0));
  24. for(int i = 1; i <= n; i++){
  25. cin >> s;
  26. sum += s;
  27. if (s % 2 != 0)
  28. t = i;
  29. for (int j = 1; j <= s; j++){
  30. cin >> a >> b;
  31. G[i][a]++;
  32. }
  33. }
  34. Eulerian(t);
  35. cout << sum / 2 << "\n";
  36. for(int k = v.size() - 1; k >= 0; k--){
  37. cout << v[k] << " ";
  38. }
  39. return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment