Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- long long n, s, t = 1, a, b, sum = 0;
- vector<long long> G;
- vector<int> v;
- void Eulerian(int q){
- for(int k = 1; k <= n; k++){
- if (G[q][k] > 0){
- G[q][k]--;
- G[k][q]--;
- Eulerian(k);
- }
- }
- v.push_back(q);
- }
- int main() {
- cin >> n;
- G.assign(n + 1, vector<int>(n + 1, 0));
- for(int i = 1; i <= n; i++){
- cin >> s;
- sum += s;
- if (s % 2 != 0)
- t = i;
- for (int j = 1; j <= s; j++){
- cin >> a >> b;
- G[i][a]++;
- }
- }
- Eulerian(t);
- cout << sum / 2 << "\n";
- for(int k = v.size() - 1; k >= 0; k--){
- cout << v[k] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment