138002025-01-08 18:53:38csdavidElágazás nélküli úton levő települések (50 pont)cpp17Elfogadva 50/5027ms1324 KiB
#include <iostream>
#include <vector>
#include <stack>
//#include <fstream>
using namespace std;

struct telepules{
    vector<int> ut;
    int o=0;
    bool bejart=0, megoldas=0;
};

int main()
{
    //ifstream fin("be2.txt");
    stack<int> q;
    int n, m, x, y;
    cin >> n >> m;
    telepules a[n];
    for(int i=0; i<m; i++){
        cin >> x >> y;
        --x;
        --y;
        a[x].ut.push_back(y);
        a[x].o++;
        a[y].ut.push_back(x);
        a[y].o++;
    }
    y=0;
    for(int i=0; i<n; i++){
        if(a[i].o==1){
            q.push(i);
        }
    }
    int eredeti;
    while(!q.empty()){
        x=q.top();
        eredeti=x;
        a[x].bejart=1;
        q.push(a[x].ut[0]);
        while(q.top()!=eredeti){
            y=q.top();
            q.pop();
            a[y].megoldas=1;
            a[y].bejart=1;
            if(a[y].o==2){
                if(!a[a[y].ut[0]].bejart){
                    q.push(a[y].ut[0]);
                }
                else if(!a[a[y].ut[1]].bejart){
                    q.push(a[y].ut[1]);
                }
            }
            else if(a[y].o==1){
                a[eredeti].megoldas=1;
                break;
            }
            else{
                break;
            }
        }
        q.pop();
    }
    x=0;
    for(int i=0; i<n; i++){
        if(a[i].megoldas){
            x++;
        }
    }
    cout << x << '\n';
    for(int i=0; i<n; i++){
        if(a[i].megoldas){
            cout << i+1 << ' ';
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/027ms1324 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms456 KiB
9Elfogadva2/24ms564 KiB
10Elfogadva2/27ms564 KiB
11Elfogadva2/213ms784 KiB
12Elfogadva2/214ms868 KiB
13Elfogadva3/32ms316 KiB
14Elfogadva3/33ms380 KiB
15Elfogadva3/34ms756 KiB
16Elfogadva3/34ms564 KiB
17Elfogadva3/312ms808 KiB
18Elfogadva3/313ms832 KiB
19Elfogadva3/314ms1076 KiB
20Elfogadva3/326ms1244 KiB
21Elfogadva3/327ms1160 KiB
22Elfogadva3/326ms1188 KiB