问题 D: 家庭问题

时间限制: 1 Sec  内存限制: 128 MB
[命题人:admin]

题目描述

有n个人,编号为1,2,……n,另外还知道存在K个关系。一个关系的表达为二元组(α,β)形式,表示α,β为同一家庭的成员。
当n,k和k个关系给出之后,求出其中共有多少个家庭、最大的家庭中有多少人?
例如:n=6,k=3,三个关系为(1,2),(1,3),(4,5)
此时,6个人组成三个家庭,即:{1,2,3}为一个家庭,{4,5}为一个家庭,{6}单独为一个家庭,第一个家庭的人数为最多。

输入

文件的第一行为n,k二个整数(1≤n≤100)(用空格分隔)
接下来的k行,每行二个整数(用空格分隔)表示关系

输出

二个整数(分别表示家庭个数和最大家庭人数)

样例输入 Copy

6 3
1 2
1 3
4 5

样例输出 Copy

3 3
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
inline int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
const int maxn=1e5;
int pre[maxn];
int find(int x){
return pre[x]==x?x:find(pre[x]);
}
void merge(int v,int u){
int t1,t2;
t1=find(v);
t2=find(u);
if(t1!=t2){
pre[t1]=t2;
}
}
int n,m;
int vis[maxn];
int main(){
cin>>n>>m;
for(int i=;i<=n;i++){
pre[i]=i;
}
int x,y;
for(int i=;i<=m;i++){
cin>>x>>y;
merge(x,y);
}
int ans=;
int max1=;
for(int i=;i<=n;i++){
int p=find(i);
if(vis[p]==){
vis[p]++;
max1=max(max1,vis[p]);
ans++;//家庭个数
}
else{
vis[p]++;
max1=max(max1,vis[p]);
}
}
printf("%d %d",ans,max1);
return ;
}

最新文章

  1. Latex制作beamer
  2. 使用NVelocity生成内容的几种方式
  3. 工程源码github地址
  4. docker 换更优秀的 文件系统 比如 OverlayFS(centos7 overlay2)
  5. “Guess the number” game
  6. 1. VS2010---简介
  7. ***用php的strpos() 函数判断字符串中是否包含某字符串的方法
  8. oc语言--BLOCK和协议
  9. AndroidStudio中导入module(简单版)
  10. Spring Boot的日志配置
  11. React Fiber源码分析 第二篇(同步模式)
  12. maven配置jdk1.8环境
  13. linux centos6.8搭建 jdk 环境
  14. 移动端(微信等)使用 vConsole 调试 console
  15. File available()方法
  16. Swift与OC代码转换实例
  17. Android Material Design控件学习(二)——NavigationView的学习和使用
  18. TOMCAT Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
  19. Jetty源码解析(web.xml的处理机制)
  20. Linux 优化详解

热门文章

  1. scp 后台执行(防止大文件关闭会话丢失)
  2. ansible-yaml语法
  3. C语言 三目运算
  4. 2级搭建类201-Oracle 12cR2 单实例 ASM(OEL7.7)公开
  5. vue自学入门-8(vue slot-scope)
  6. 为什么要使用Redis? —— Redis实战经验
  7. Sql Server2008忘记sa登陆密码
  8. Codeforces Round #616 (Div. 2) C. Mind Control
  9. mysql 基础sql语法总结 (二)DML
  10. 【转】Java(多)线程中注入Spring的Bean