7944 | 2024. 01. 12 08:12:30 | Boti | Elágazás nélküli úton levő települések (50 pont) | cpp17 | Elfogadva 50/50 | 27ms | 4652 KiB |
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> a;
vector<int> b;
vector<int> utak;
vector<int> o (0);
void bejar(int c, int d)
{
for (int i = 0; i < m; i++)
{
if (a[i] == c && b[i] != d)
{
if (count(o.begin(), o.end(), b[i]) == 0)
{
o.push_back(b[i]);
}
if (utak[b[i]] <= 2)
{
bejar(b[i], c);
}
}
if (b[i] == c && a[i] != d)
{
if (count(o.begin(), o.end(), a[i]) == 0)
{
o.push_back(a[i]);
}
if (utak[a[i]] <= 2)
{
bejar(a[i], c);
}
}
}
}
int main()
{
cin >> n >> m;
a.resize(m);
b.resize(m);
utak.resize(n +1, 0);
for (int i = 0; i < m; i++)
{
cin >> a[i] >> b[i];
utak[a[i]]++;
utak[b[i]]++;
}
for (int i = 1; i <= n; i++)
{
if (utak[i] == 1)
{
bejar(i, -1);
}
}
sort(o.begin(), o.end());
cout << o.size() << endl;
for (int i = 0; i < o.size(); i++)
{
cout << o[i] << " ";
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 2152 KiB | |||
2 | Elfogadva | 0/0 | 26ms | 3000 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2516 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2484 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2520 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2748 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2864 KiB | |||
8 | Elfogadva | 2/2 | 4ms | 3136 KiB | |||
9 | Elfogadva | 2/2 | 6ms | 3336 KiB | |||
10 | Elfogadva | 2/2 | 8ms | 3632 KiB | |||
11 | Elfogadva | 2/2 | 14ms | 4020 KiB | |||
12 | Elfogadva | 2/2 | 14ms | 4132 KiB | |||
13 | Elfogadva | 3/3 | 4ms | 3780 KiB | |||
14 | Elfogadva | 3/3 | 6ms | 3716 KiB | |||
15 | Elfogadva | 3/3 | 8ms | 3804 KiB | |||
16 | Elfogadva | 3/3 | 21ms | 3680 KiB | |||
17 | Elfogadva | 3/3 | 20ms | 3944 KiB | |||
18 | Elfogadva | 3/3 | 25ms | 3952 KiB | |||
19 | Elfogadva | 3/3 | 25ms | 4196 KiB | |||
20 | Elfogadva | 3/3 | 25ms | 4476 KiB | |||
21 | Elfogadva | 3/3 | 26ms | 4400 KiB | |||
22 | Elfogadva | 3/3 | 27ms | 4652 KiB |