211612026-01-12 15:09:21szjElágazás nélküli úton levő települések (50 pont)cpp17Hibás válasz 31/5028ms1356 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m, i, a, b;
    cin >> n >> m;
    vector<vector<int>> vec(n);
    vector<int>ki;
    int zsak[n]= {};
    bool volt[n]= {};
    for(i=0; i<m; i++)
    {
        cin >> a >> b;
        vec[a-1].push_back(b-1);
        vec[b-1].push_back(a-1);
        zsak[a-1]++;
        zsak[b-1]++;
    }
    for(i=0; i<n; i++)
    {
        if(zsak[i]==1)
        {
            a=i;
            b=-1;
            while(zsak[a]<=2)
            {
                if(vec[a][0]==b)
                {
                    b=a;
                    a=vec[a][1];
                }
                else
                {
                    b=a;
                    a=vec[a][0];
                }
                if(zsak[a]==1 && !volt[a])
                {
                    ki.push_back(i+1);
                    volt[a]=1;
                    break;
                }
                if(volt[a])break;
                volt[a]=1;
                ki.push_back(a+1);
            }
            volt[i]=1;
        }
    }
    cout << ki.size()<<endl;
    sort(ki.begin(), ki.end());
    for(auto &i:ki)cout <<i<<" ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base31/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/028ms1332 KiB
3Hibás válasz0/21ms500 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/23ms492 KiB
9Elfogadva2/24ms564 KiB
10Elfogadva2/28ms580 KiB
11Elfogadva2/214ms820 KiB
12Elfogadva2/214ms824 KiB
13Elfogadva3/32ms316 KiB
14Hibás válasz0/34ms456 KiB
15Hibás válasz0/34ms568 KiB
16Hibás válasz0/34ms756 KiB
17Hibás válasz0/313ms820 KiB
18Hibás válasz0/313ms868 KiB
19Elfogadva3/317ms920 KiB
20Elfogadva3/328ms1284 KiB
21Elfogadva3/328ms1356 KiB
22Elfogadva3/328ms1232 KiB