LA 3644 X-Plosives

时间:2023-03-09 16:23:53
LA 3644 X-Plosives

最简单的并查集

多做做水题,加深一下理解

 //#define LOCAL
#include <cstdio> const int maxn = + ;
int parent[maxn]; int GetParent(int a) { return parent[a] == a ? a : parent[a] = GetParent(parent[a]); } int main(void)
{
#ifdef LOCAL
freopen("3644in.txt", "r", stdin);
#endif int x, y;
while(scanf("%d", &x) == )
{
for(int i = ; i < maxn; ++i) parent[i] = i;
int cnt = ;
while(~x)
{
scanf("%d", &y);
x = GetParent(x); y = GetParent(y);
if(x == y) ++cnt;
else parent[x] = y;
scanf("%d", &x);
}
printf("%d\n", cnt);
}
return ;
}

代码君