2019-01-29 [POJ-1611],

[POJ-1611]

include<iostream>

include<cstring>

using namespace std;
int gen[30005];int rankk[30005];
int find(int a)
{
if (a != gen[a])
gen[a] = find(gen[a]);
return gen[a];
}

int main()
{
int n,m;
while (cin >> n >> m && (n != 0 || m != 0))
{
int a, b, x, y;
for (int i = 0; i < n; i++)
{

        gen[i] = i;
        rankk[i] = 0;
    }


    while (m--)
    {
        cin >> x; x--;
        cin >> a;
        while (x--)
        {
            cin >> b;
            a = find(a);
            b = find(b);
            if (rankk[a] > rankk[b])
            {
                gen[b] = a;
            }
            else
            {
                gen[a] = b;
                if (rankk[a] == rankk[b])
                    rankk[b]++;
            }
            a = b;

        }
    }
    int he = 0, z = find(0);
    for (int i = 0; i < n; i++)
    {
        if (find(i) == z) he++; 
    }
    cout << he<<endl;
}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容