首页 > 其他分享 >How Many Tables HDU - 1213(并查集/连通块数量)

How Many Tables HDU - 1213(并查集/连通块数量)

时间:2023-03-23 15:58:34浏览次数:37  
标签:Tables HDU 1213 int 查集 连通 认识 include find

题意:朋友的朋友是朋友
如果A认识B,B认识C,那么ABC三个人就可以坐在同一张桌子上
但如果A认识B,C认识D,那我们就默认AB和CD不认识,需要准备两张桌子
现在我们需要你计算出,我们一共最少需要多少张桌子。

分析:利用并查集或者作为连通块数量问题

#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
const double PI=acos(-1.0);
const int N=1e3+10;
int n,m,p[N];
int find(int x) {
    if(p[x]!=x) p[x]=find(p[x]);
    return p[x];
}
int main() {
    int t,a,b; cin>>t;
    while(t--) {
        cin>>n>>m;
        for(int i=1; i<=n; i++) p[i]=i;
        while(m--) {
            cin>>a>>b;
            int pa=find(a), pb=find(b);
            p[pa]=pb;
        }
        int res=0;
        for(int i=1; i<=n; i++)
            if(p[i]==i) res++;
        cout<<res<<endl;
    }
    return 0;
}

标签:Tables,HDU,1213,int,查集,连通,认识,include,find
From: https://www.cnblogs.com/hellohebin/p/17247729.html

相关文章

  • Red and Black HDU - 1312 (连通块的大小)
    题意:求某点所在连通块的大小。分析:由某点进行dfs,每次标记该点,并计数。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;constintN=110,INF=......
  • 变形课 HDU - 1181 (dfs)
    题意:给定多个单词,每个单词的首字母可以到末字母,问能否由'b'到'm'。分析:将每个单词首尾字母建图,dfs('b')将能到的所有字母进行标记,最后检查'm'是否被标记。#include......
  • 关于MySQL”Tablespace for table **** exists“错误如何解决
    前段时间服务器蹦造成所有项目都启动不了,需要重装系统。而在重装前把数据及项目代码都打包备份。重装好后重新搭建项目,而在导入数据库时出现了个别数据表导不进,而后查看报......
  • java.io.IOException: Packet len1213486160 is out of range!
    部署otter,启动node的时候一直报错:2023-03-2110:39:24.615[main-SendThread(10.224.250.251:8080)]WARNorg.apache.zookeeper.ClientCnxn-Session0x0forserver......
  • Oracle查询所有表怎样做,有几种方法 select * from user_tables 查询当前登录用用户
    Oracle查询所有表怎样做,有几种方法原文连接:https://www.qycn.com/xzx/article/13062.html在实际案例的操作过程中,我们可能会遇到“Oracle......
  • 网络系统管理Linux环境——7.ROUTERSRV之IPTABLES
    题目要求服务器RouterSrv上的工作任务6. IPTABLES添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。INPUT、OUTPUT和FOREARD链......
  • HDU 6514 Monitor
    注意:注意要用scanf注意多测#include<iostream>#include<vector>usingnamespacestd;intn,m,q;vector<vector<int>>a;voidinsert(intx1,inty1,intx......
  • 强大的iptables:解锁Linux网络安全的神器
    iptables是Linux系统中的防火墙管理工具,它的功能强大并且使用灵活,可用于网络防护、路由转发等功能应用。由于防火墙功能是基于Linux内核实现的,具有稳定和高效率的特点,因此常......
  • iptables的使用
    iptables的使用iptables介绍iptables是基于内核提供的netfilter框架实现的,网络协议栈是分层的,在tcpip网络模型里,tcp传输层下面的一层就是ip网络层,而netfilter就是工作在......
  • 1213
    include<Windows.h>include"framework.h"LRESULTCALLBACKWindowsProc(InHWNDhWnd,InUINTMsg,InWPARAMwParam,InLPARAMlParam);//__stdcall参数的传入......