8296 | 2024. 01. 14 11:45:27 | zsombor | Maximális kaktusz (45 pont) | cpp17 | Elfogadva 45/45 | 52ms | 13784 KiB |
#include <iostream>
#include <vector>
using namespace std;
int n, m, a, b, ans = 0;
vector <vector <int>> g(1e5);
vector <int> p(1e5, 0);
vector <bool> fa(1e5, true);
vector <bool> szabad;
void dfs1(int x) {
for (int i : g[x]) {
if (i == p[x]) continue;
if (p[i]) {
a = x;
if (fa[x]) while (a != p[i]) { fa[a] = false; a = p[a]; }
continue;
}
p[i] = x;
dfs1(i);
}
}
void dfs2(int x) {
fa[x] = false;
int c = 0;
for (int i : g[x]) {
if (!fa[i]) continue;
p[i] = x;
dfs2(i);
if (szabad[i]) c++;
}
if (!szabad[x]) return;
if (c >= 2) {
ans++;
szabad[x] = false;
}
if (c == 1 && p[x] > 0 && szabad[p[x]]) {
ans++;
szabad[x] = false;
szabad[p[x]] = false;
}
}
int main()
{
cin >> n >> m;
for (int i = 0; i < m; i++) {
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
p[1] = -1;
dfs1(1);
fill(p.begin(), p.end(), 0);
szabad = fa;
for (int i = 1; i <= n; i++) {
if (!fa[i]) continue;
p[i] = -1;
dfs2(i);
}
cout << ans;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 45/45 | ||||||
1 | Elfogadva | 0/0 | 4ms | 7168 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 7468 KiB | |||
3 | Elfogadva | 1/1 | 4ms | 7680 KiB | |||
4 | Elfogadva | 1/1 | 4ms | 7696 KiB | |||
5 | Elfogadva | 1/1 | 4ms | 7948 KiB | |||
6 | Elfogadva | 2/2 | 4ms | 8292 KiB | |||
7 | Elfogadva | 2/2 | 4ms | 8488 KiB | |||
8 | Elfogadva | 2/2 | 4ms | 8768 KiB | |||
9 | Elfogadva | 1/1 | 4ms | 8804 KiB | |||
10 | Elfogadva | 1/1 | 4ms | 8876 KiB | |||
11 | Elfogadva | 1/1 | 4ms | 9036 KiB | |||
12 | Elfogadva | 1/1 | 4ms | 8892 KiB | |||
13 | Elfogadva | 1/1 | 4ms | 9020 KiB | |||
14 | Elfogadva | 1/1 | 4ms | 8936 KiB | |||
15 | Elfogadva | 1/1 | 6ms | 8888 KiB | |||
16 | Elfogadva | 1/1 | 6ms | 9020 KiB | |||
17 | Elfogadva | 1/1 | 4ms | 8916 KiB | |||
18 | Elfogadva | 1/1 | 50ms | 12096 KiB | |||
19 | Elfogadva | 1/1 | 45ms | 12420 KiB | |||
20 | Elfogadva | 1/1 | 52ms | 12096 KiB | |||
21 | Elfogadva | 1/1 | 50ms | 12288 KiB | |||
22 | Elfogadva | 2/2 | 39ms | 12392 KiB | |||
23 | Elfogadva | 2/2 | 39ms | 12480 KiB | |||
24 | Elfogadva | 2/2 | 39ms | 12264 KiB | |||
25 | Elfogadva | 2/2 | 39ms | 12496 KiB | |||
26 | Elfogadva | 1/1 | 4ms | 8864 KiB | |||
27 | Elfogadva | 1/1 | 4ms | 8864 KiB | |||
28 | Elfogadva | 1/1 | 4ms | 9116 KiB | |||
29 | Elfogadva | 1/1 | 48ms | 12764 KiB | |||
30 | Elfogadva | 1/1 | 50ms | 12852 KiB | |||
31 | Elfogadva | 1/1 | 45ms | 13124 KiB | |||
32 | Elfogadva | 1/1 | 46ms | 13060 KiB | |||
33 | Elfogadva | 2/2 | 48ms | 13096 KiB | |||
34 | Elfogadva | 2/2 | 48ms | 13236 KiB | |||
35 | Elfogadva | 2/2 | 45ms | 13504 KiB | |||
36 | Elfogadva | 2/2 | 43ms | 13784 KiB |