178582025-09-19 20:19:22KristófElágazás nélküli úton levő települések (50 pont)cpp17Hibás válasz 4/5028ms1612 KiB
#include <iostream>
#include <vector>


using namespace std;

void solver(vector <bool> &visit,int s,vector<vector<int>> &graph,vector<int> &ans)
{
if(graph[s].size()==2)
    {
    ans.push_back(s);
    visit[s]=true;
    for(auto x : graph[s])
        {
        if(!visit[x])
            solver(visit,x,graph,ans);
        }
    }
else
    {
    ans.push_back(s);
    }


}



int main()
{
    int n,m;
    cin>>n>>m;
    vector<vector<int>> graph(n+1);
    int tmp1,tmp2;
    for(int i=0;i<m;i++)
        {
        cin>>tmp1>>tmp2;
        graph[tmp1].push_back(tmp2);
        graph[tmp2].push_back(tmp1);
        }
    vector<int> ends;
    for(int i=1;i<=n;i++)
        {
        if(graph[i].size()==1)
            {
            ends.push_back(i);
            }
        }
  //  for(auto x : ends)
  //      {
   //     cout<<x<<" ";
   //     }
   vector<bool> visit(n+1,false);
   vector<int> ans;
   for(auto i : ends)
    {
    if(!visit[i])
        {
        visit[i]=true;
        solver(visit,graph[i][0],graph,ans);
        }
    }
   cout<<ans.size()<<endl;
   for(auto x : ans)
    {
    cout<<x<<" ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/028ms1588 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/23ms564 KiB
9Hibás válasz0/24ms588 KiB
10Hibás válasz0/28ms632 KiB
11Elfogadva2/214ms924 KiB
12Hibás válasz0/214ms920 KiB
13Hibás válasz0/32ms316 KiB
14Hibás válasz0/34ms564 KiB
15Hibás válasz0/34ms564 KiB
16Hibás válasz0/34ms696 KiB
17Hibás válasz0/313ms936 KiB
18Hibás válasz0/313ms1056 KiB
19Hibás válasz0/317ms1160 KiB
20Hibás válasz0/328ms1588 KiB
21Hibás válasz0/328ms1588 KiB
22Hibás válasz0/328ms1612 KiB