178642025-09-19 20:59:02KristófElágazás nélküli úton levő települések (50 pont)cpp17Wrong answer 31/5028ms1332 KiB
#include <iostream>
#include <vector>
#include <set>

using namespace std;

void solver(int p,int s,vector<vector<int>> &graph,set<int> &ans)
{
for(auto x : graph[s])
        {
if(graph[x].size()==2)
    {
    ans.insert(x);

        if(x!=p){
            solver(s,x,graph,ans);
        }
    }
else if(graph[x].size()>2)
    {
    ans.insert(x);
    //cout<<x<<" "<<graph[x].size()<<endl;
    }


}
}


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<<" ";
   //     }
   set<int> ans;
   for(auto i : ends)
    {

    solver(-1,i,graph,ans);


    }
   cout<<ans.size()<<endl;
   for(auto x : ans)
    {
    cout<<x<<" ";
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base31/50
1Accepted0/01ms316 KiB
2Accepted0/028ms1332 KiB
3Wrong answer0/21ms316 KiB
4Accepted2/21ms500 KiB
5Accepted2/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/22ms316 KiB
9Accepted2/24ms544 KiB
10Accepted2/27ms576 KiB
11Accepted2/214ms772 KiB
12Accepted2/214ms828 KiB
13Accepted3/32ms356 KiB
14Wrong answer0/33ms316 KiB
15Wrong answer0/34ms568 KiB
16Wrong answer0/34ms564 KiB
17Wrong answer0/312ms796 KiB
18Wrong answer0/313ms948 KiB
19Accepted3/316ms948 KiB
20Accepted3/327ms1188 KiB
21Accepted3/327ms1300 KiB
22Accepted3/327ms1176 KiB