7864 2024. 01. 11 14:04:45 csaron71 Elágazás nélküli úton levő települések (50 pont) cpp17 Elfogadva 50/50 30ms 6348 KiB
#include <bits/stdc++.h>

using namespace std;

vector<bool> vege;
    vector<vector<int> > elek;

void joe(int x, int y) {
    for (int sz : elek[x]) {
        if (sz==y) continue;
        vege[sz]=true;
        if (elek[sz].size()>=3) continue;
        joe(sz, x);
    }
}

int main()
{
    int n, m;
    cin >> n >> m;
    elek.assign(n, vector<int>());
    for (int i=0; i<m; i++) {
        int x, y;
        cin >> x >> y;
        x--;
        y--;
        elek[x].push_back(y);
        elek[y].push_back(x);
    }
    vege.assign(n, false);
    for (int i=0; i<n; i++) {
        if (elek[i].size()==1) {
            joe(i, -1);
        }
    }
    int ossz=0;
    for (int i=0; i<n; i++) {
        if (vege[i]==true) {
            ossz++;
        }
    }
    cout << ossz << "\n";
    for (int i=0; i<n; i++) {
        if (vege[i]==true) {
            cout << i+1 << " ";
        }
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 30ms 3872 KiB
3 Elfogadva 2/2 3ms 2344 KiB
4 Elfogadva 2/2 3ms 2368 KiB
5 Elfogadva 2/2 3ms 2612 KiB
6 Elfogadva 2/2 3ms 2620 KiB
7 Elfogadva 2/2 3ms 2752 KiB
8 Elfogadva 2/2 4ms 3172 KiB
9 Elfogadva 2/2 7ms 3452 KiB
10 Elfogadva 2/2 8ms 3728 KiB
11 Elfogadva 2/2 16ms 4296 KiB
12 Elfogadva 2/2 16ms 4560 KiB
13 Elfogadva 3/3 4ms 3700 KiB
14 Elfogadva 3/3 4ms 3896 KiB
15 Elfogadva 3/3 6ms 3948 KiB
16 Elfogadva 3/3 7ms 4180 KiB
17 Elfogadva 3/3 14ms 4772 KiB
18 Elfogadva 3/3 14ms 4720 KiB
19 Elfogadva 3/3 18ms 5232 KiB
20 Elfogadva 3/3 29ms 5768 KiB
21 Elfogadva 3/3 30ms 6348 KiB
22 Elfogadva 3/3 30ms 6276 KiB