1611:The Suspects

百练上全局题号是1611,POJ题号貌似是613.现在还搞不清楚全局题号是什么。

这是一道最近简单的并查集问题,注意的一点就是,合并的时候一定要把小序号作为父母节点,这样,所有跟0相关的节点,最后都会指向0节点。代码自带缩短路径。

#include <iostream>
#include <stdio.h>
using namespace std;
#define  MAX_SIZE 30000+10
int p[MAX_SIZE];
int Init_Array(int n)
{
    for (int i = 0; i < n; i++){
        p[i] = i;
    }
    return 0;
}
int Find_parent(int i)
{
    if (p[i] != i){
        p[i] = Find_parent(p[i]);
    }
    return p[i];
}
bool Unit_ij(int i, int j)
{
int temp;
    int Pi = Find_parent(i);
    int Pj = Find_parent(j);
    if (Pi != Pj){
    if(Pj > Pi){
        temp = Pi;
        Pi = Pj;
        Pj = temp;
    }
        p[Pi] = Pj;
    }
    return true;
}
int main()
{
    int n,m;        //m record the number of teams
    int num;        //num record the number of teammates
    int first;        //the first number of the teammates
    int next;        //the next number of the teammates
    int count;        //the suspects
    while(cin>>n && n != 0){
    cin>>m;
    Init_Array(n);
        count = 0;
    for(int i = 0;i < m;i++)
    {
        cin>>num;
        cin>>first;
        for(int j = 1;j < num;j++)
        {
            cin>>next;
            Unit_ij(first,next);
        }
    }
    for(int i = 0;i < n;i++)
    {
        if(Find_parent(i) == 0)
        count++;
    }
        cout<<count<<endl;
    }
return 0;
}


转载于:https://my.oschina.net/u/2565756/blog/597166

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值