A - Learning Languages

在 “BerCorp” 公司,有 n 名雇员。这些雇员可以使用 m 种核准的正式语言,用于正式的通信。这些语言以整数编号,介于 1 到 m 之间。对于每名雇员,我们已知他所懂语言的列表。这个列表可能是空的,即一名雇员可能不懂任何正式语言。但雇员们愿意学习一种或多种正式语言,只要公司为他们的课程而付费。对于每名雇员而言,学一门语言的课程费用是 1 BER$ 元 (berdollar)。
求出该公司需要花费的合计费用的最小值,使得任意一名雇员能够与任意其他一名雇员通信 (他们之间的通信可以是非直接的,即允许其他雇员帮助翻译)。
输入
第一行包含两个整数 n 和 m (2 ≤ n, m ≤ 100) — 雇员数目和语言数目。
接下来的 n 行 — 每个雇员的语言列表。在第 i 行的开始,是整数 ki (0 ≤ ki ≤ m) — 第 i 名雇员所懂语言的数目。接下来,第 i 行还包含了 ki 个整数 — aij (1 ≤ aij ≤ m) — 第 i 名雇员所懂各语言的相应标识。数据保证:每个列表中的全部标识都是唯一的。注意:一名雇员可能懂得 0 种语言。
各行中的数字,以单个空格间隔。
输出
打印仅有的一个整数 — 所需支付的费用的最小值,使得最终每名雇员可以与其他任何一名雇员通信 (其他雇员可以帮助翻译)。
示例
输入
5 5
1 2
2 2 3
2 3 4
2 4 5
1 5
输出
0
输入
8 7
0
3 1 2 3
1 1
2 5 4
2 6 7
1 3
2 7 4
1 1
输出
2
输入
2 2
1 2
0
输出
1
备注
在第二个示例中,雇员 1 可以学习语言 2,且雇员 8 可以学习语言 4。
在第三个示例中,雇员 2 必须学习语言 2。
题意:输入n,m代表人数和语言种数,接下来n行,输入t(每个人会的语言总数)后面跟着t个数(语言序号)问总共还要学习多少语言,可以让每两个员工可以直接或间接交流。
方法:并查集

#include"iostream"
#include"algorithm"
#include"cstring"
#include"set"
using namespace std;
int pre[150];
void init()
{for(int i = 0;i < 101;i ++){pre[i]=i;}
}
int find(int x)
{return x==pre[x] ? x:pre[x]=find(pre[x]);
}
void join(int x,int y)
{int fx=find(x);int fy=find(y);if(fx != fy){pre[fx]=fy;}
}
int main()
{int n,m;while(cin >> n >> m){init();int vst[105]={0};int sum =0 ;for(int i = 0;i < n;i ++){int t;cin >> t;int a[105];if(t==0){sum ++;continue;}cin >> a[0];vst[a[0]]++;for(int  j = 1;j < t;j ++){cin >>a[j];vst[a[j]]++;join(a[j-1],a[j]);}}int pl = 0;for(int i = 1;i <= m;i ++){if(vst[i]){if(pre[i]==i){pl++;}}}pl=max(0,pl-1);cout<<sum+pl<<endl; }return 0;
}

A - Learning Languages相关推荐

  1. 刷题记录:牛客NC24608[USACO 2011 Ope S]Learning Languages

    传送门:牛客 题目描述: [USACO11OPEN]Learning Languages S 农夫约翰的 N ( 2 < = N < = 10 , 000 ) N(2<=N<= ...

  2. 【CodeForces - 278C 】Learning Languages(并查集,思维)

    题干: The "BerCorp" company has got n employees. These employees can use m approved official ...

  3. B - Learning Languages

    一.题目: The "BerCorp" company has got n employees. These employees can use m approved offici ...

  4. Istio微服务平台集成实践

    前言 Istio发布1.0版本后,其服务发现和路由规则功能已基本具备production能力,我们也开始了Istio和公司内部微服务平台的集成工作,打算以Istio为基础打造一个微服务管控中心,在这里 ...

  5. 英语国家的学生学语法么?_纪念国家语法日

    英语国家的学生学语法么? by Pete Considine 皮特·康斯丁(Pete Considine) 纪念国家语法日 (In Honor of National Grammar Day) -或作 ...

  6. 基于tcp的网络程序_【CVPR 2020 Tutorial】基于神经网络的符号化视觉推理和程序合成(2)...

    往期回顾:https://zhuanlan.zhihu.com/p/165665242 第三讲:Neuro-Symbolic Visual Concept Learning 主讲:Jiayuan Ma ...

  7. sql server高可用_SQL Server 2019常规可用性和安装概述

    sql server高可用 介绍 (Introduction) On November 4th, 2019, during the Ignite conference at Orlando, Micr ...

  8. [渝粤教育] 深圳信息职业技术学院 《新理念英语》English For You 参考 资料

    教育 -<新理念英语>English For You-章节资料考试资料-深圳信息职业技术学院[] Which is true about the introduction? 1.[多选题] ...

  9. 语法入门*算法入门题单

    作者:王清楚 链接:https://ac.nowcoder.com/discuss/817596?type=101&order=0&pos=1&page=4&chann ...

最新文章

  1. 如何准确估算并发数?
  2. Panda和numpy库和matplotlib库的安装
  3. python3精要(5)-最长公共前缀Trie树
  4. 阻止JavaScript事件冒泡到父元素
  5. kafka 异常:ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOExce
  6. Windows 环境 Jenkins集成构建SonarQube
  7. python http get 请求_Python-Http请求库-Requests and AIOHTTP的使用
  8. 小货车DataAdapter对象 1129
  9. Teamviewer 手机端怎么使用右键-已解决
  10. java 遍历二进制_读取二进制文件并循环遍历每个字节
  11. 图片上传至服务器实现压缩
  12. 在Mac OS X 通过抓包、“第三方下载工具”加速下载、安装APP或系统
  13. 疯狂的程序员——个人解读加经典语录
  14. 单片机:LCD1602
  15. 2021年道路运输企业安全生产管理人员考试试卷及道路运输企业安全生产管理人员模拟试题
  16. python系列之:字典update
  17. 【笔记】win10上,IDEA完全删除,清理注册表
  18. 修改Echarts源码实现柱状图的炫彩闪烁效果
  19. SEO关键词排名优化的核心因素
  20. Dynamics CRM命令栏定制基础知识及手动编辑customization.xml实例

热门文章

  1. 平安壹账通银行荣获2020金融科技大奖
  2. 【长期计划】Atcoder题目泛做
  3. 并查集,不就一并和一查?
  4. flash图片抗锯齿的方法
  5. 装机教程:VMWare下安装Linux系统(超级详细版 学不会你打我)
  6. 【社区图书馆】与 csdn 的结缘
  7. Vue 打包 成 桌面应用 vue打包成桌面应用 vue 打包桌面应用 vue 部署 桌面应用 vue部署为桌面应用 vue部署 为 桌面应用 vue 桌面应用
  8. 网络相关面试题(持续更新)
  9. printPreviewControl1 打印预览
  10. 【sequoiadb|巨杉数据库】创建数据表