230602026-01-16 11:27:57MrkzElágazás nélküli úton levő települések (50 pont)cpp17Elfogadva 50/5012ms1076 KiB
#include <bits/stdc++.h>

using namespace std;
int N,M,x,y,db;

vector<vector<short>> graf;
int megoldas[10000]={0};

int main()
{
    istream *in;

    ifstream f("graf.in");
    //in = &f;
    in = &cin;
    ios::sync_with_stdio(0);
    cin.tie(nullptr);
    (*in)>>N>>M;
    graf.assign(N + 1, vector<short>());

    for(int i=1;i<=M;i++){
        (*in)>>x>>y;
        x--; y--;
        graf[x].push_back(y);
        graf[y].push_back(x);
    }

    for(int i=0;i<N;i++){
        if(graf[i].size()==1){
            int s=i;
            int prev=-1;
            while(graf[s].size()<3){
                int tmp = s;
                s=graf[s][0];
                if(s==prev){
                    s=graf[tmp][1];
                }
                megoldas[s]++;
                if(graf[s].size()==1)
                    break;
                prev=tmp;
            }

        }
    }
    int db=0;
    for(int i=0;i<N;i++){
        if(megoldas[i]>0)
            db++;
    }
    cout<<db<<endl;
    for(int i=0;i<N; i++)
        if(megoldas[i]>0){
            cout<<i+1<<" ";
        }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms316 KiB
2Elfogadva0/012ms1076 KiB
3Elfogadva2/22ms316 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/24ms836 KiB
11Elfogadva2/26ms564 KiB
12Elfogadva2/26ms564 KiB
13Elfogadva3/32ms508 KiB
14Elfogadva3/32ms316 KiB
15Elfogadva3/32ms384 KiB
16Elfogadva3/33ms748 KiB
17Elfogadva3/36ms760 KiB
18Elfogadva3/36ms720 KiB
19Elfogadva3/37ms924 KiB
20Elfogadva3/310ms1056 KiB
21Elfogadva3/312ms1004 KiB
22Elfogadva3/312ms988 KiB