79412024-01-12 08:04:59BotiElágazás nélküli úton levő települések (50 pont)cpp17Hibás válasz 4/5027ms4376 KiB
#include <bits/stdc++.h>

using namespace std;

int n, m;
vector<int> a;
vector<int> b;
vector<int> utak;
vector<int> o (0);

void bejar(int c, int d)
{
    for (int i = 0; i < m; i++)
    {
        if (a[i] == c && b[i] != d)
        {
            o.push_back(b[i]);
            if (utak[b[i]] <= 2)
            {
                bejar(b[i], c);
            }
        }
        if (b[i] == c && a[i] != d)
        {
            o.push_back(a[i]);
            if (utak[a[i]] <= 2)
            {
                bejar(a[i], c);
            }
        }
    }
}

int main()
{
    cin >> n >> m;
    a.resize(m);
    b.resize(m);
    utak.resize(n +1, 0);
    for (int i = 0; i < m; i++)
    {
        cin >> a[i] >> b[i];
        utak[a[i]]++;
        utak[b[i]]++;
    }
    for (int i = 1; i <= n; i++)
    {
        if (utak[i] == 1)
        {
            bejar(i, -1);
        }
    }
    cout << o.size() << endl;
    for (int i = 0; i < o.size(); i++)
    {
        cout << o[i] << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/03ms1880 KiB
2Hibás válasz0/026ms2764 KiB
3Hibás válasz0/23ms2556 KiB
4Hibás válasz0/23ms2616 KiB
5Elfogadva2/23ms2816 KiB
6Hibás válasz0/23ms2824 KiB
7Hibás válasz0/23ms2736 KiB
8Hibás válasz0/24ms2968 KiB
9Hibás válasz0/26ms3280 KiB
10Hibás válasz0/28ms3528 KiB
11Elfogadva2/213ms3684 KiB
12Hibás válasz0/214ms3684 KiB
13Hibás válasz0/34ms3532 KiB
14Hibás válasz0/36ms3556 KiB
15Hibás válasz0/38ms3852 KiB
16Hibás válasz0/319ms3736 KiB
17Hibás válasz0/319ms3948 KiB
18Hibás válasz0/325ms3968 KiB
19Hibás válasz0/325ms4016 KiB
20Hibás válasz0/325ms4376 KiB
21Hibás válasz0/326ms4308 KiB
22Hibás válasz0/327ms4312 KiB