178582025-09-19 20:19:22KristófElágazás nélküli úton levő települések (50 pont)cpp17Wrong answer 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;
}
SubtaskSumTestVerdictTimeMemory
base4/50
1Accepted0/01ms316 KiB
2Wrong answer0/028ms1588 KiB
3Wrong answer0/21ms316 KiB
4Wrong answer0/21ms316 KiB
5Accepted2/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Wrong answer0/23ms564 KiB
9Wrong answer0/24ms588 KiB
10Wrong answer0/28ms632 KiB
11Accepted2/214ms924 KiB
12Wrong answer0/214ms920 KiB
13Wrong answer0/32ms316 KiB
14Wrong answer0/34ms564 KiB
15Wrong answer0/34ms564 KiB
16Wrong answer0/34ms696 KiB
17Wrong answer0/313ms936 KiB
18Wrong answer0/313ms1056 KiB
19Wrong answer0/317ms1160 KiB
20Wrong answer0/328ms1588 KiB
21Wrong answer0/328ms1588 KiB
22Wrong answer0/328ms1612 KiB