178642025-09-19 20:59:02KristófElágazás nélküli úton levő települések (50 pont)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base31/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/028ms1332 KiB
3Hibás válasz0/21ms316 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/24ms544 KiB
10Elfogadva2/27ms576 KiB
11Elfogadva2/214ms772 KiB
12Elfogadva2/214ms828 KiB
13Elfogadva3/32ms356 KiB
14Hibás válasz0/33ms316 KiB
15Hibás válasz0/34ms568 KiB
16Hibás válasz0/34ms564 KiB
17Hibás válasz0/312ms796 KiB
18Hibás válasz0/313ms948 KiB
19Elfogadva3/316ms948 KiB
20Elfogadva3/327ms1188 KiB
21Elfogadva3/327ms1300 KiB
22Elfogadva3/327ms1176 KiB