uva10608-Friends

Posted 啊嘞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva10608-Friends相关的知识,希望对你有一定的参考价值。

题目链接请戳 这里

 

解题思路

基本的并查集

 

代码

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 30010
#define M 50010
using namespace std;

int cit[N], gro[N];

void make_set(int n)
{
    for (int i = 1; i <= n; i++)
        cit[i] = i;
}

int get_fa(int x)
{
    return (cit[x] == x) ? x : cit[x] = get_fa(cit[x]);
}

int main()
{
    int t;
    int n, m;
    scanf("%d", &t);
    while (t--) {
        scanf("%d%d", &n, &m);
        make_set(n);
        memset(gro, 0, sizeof(gro));
        for (int i = 0; i < m; i++) {
            int a, b;
            scanf("%d%d", &a, &b);
            int fa = get_fa(a);
            int fb = get_fa(b);
            cit[fa] = fb;
        }
        //需要整理各个并查集
        for (int i = 1; i <= n; i++) get_fa(i);
        for (int i = 1; i <= n; i++) gro[cit[i]]++;
        int maxn = 0;
        for (int i = 1; i <= n; i++) maxn = max(maxn, gro[i]);
        printf("%d\n", maxn);
    }
    return 0;
}

 

以上是关于uva10608-Friends的主要内容,如果未能解决你的问题,请参考以下文章

UVa10410代码

UVa 1593代码对齐

UVa 1593 代码对齐

算法习题---5.1代码对齐(UVa1593)

●UVA 10674 Tangents

UVa 1626 括号序列