A5411 | Learning Languages
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
“BerCorp”公司有 $n$ 名员工。这些员工可以使用 $m$ 种被批准的官方语言进行正式通信。语言用整数 $1$ 到 $m$ 编号。对于每位员工,我们知道他掌握的语言列表。这个列表可能为空,也就是说员工可能不懂任何官方语言。但员工们愿意学习任意数量的官方语言,只要公司为他们的课程付费。每名员工学习一门语言的费用为 $1$ 伯币。
请你计算公司需要花费的最少总金额,使得任何一位员工都能够与任何其他员工进行通信(通信可以是间接的,即其他员工可以协助翻译)。
请你计算公司需要花费的最少总金额,使得任何一位员工都能够与任何其他员工进行通信(通信可以是间接的,即其他员工可以协助翻译)。
输入格式
第一行包含两个整数 $n$ 和 $m$($2 \leq n,m \leq 100$)——员工人数和官方语言数量。
接下来的 $n$ 行,每行描述一名员工掌握的语言。第 $i$ 行以整数 $k_i$ 开头($0 \leq k_i \leq m$),表示第 $i$ 位员工会的语言数。接下来是 $k_i$ 个整数 $a_{ij}$($1 \leq a_{ij} \leq m$),表示他会的语言的编号。保证每个列表中的语言编号各不相同。注意,有些员工可能不会任何语言。
同一行的数字用一个空格分隔。
接下来的 $n$ 行,每行描述一名员工掌握的语言。第 $i$ 行以整数 $k_i$ 开头($0 \leq k_i \leq m$),表示第 $i$ 位员工会的语言数。接下来是 $k_i$ 个整数 $a_{ij}$($1 \leq a_{ij} \leq m$),表示他会的语言的编号。保证每个列表中的语言编号各不相同。注意,有些员工可能不会任何语言。
同一行的数字用一个空格分隔。
输出格式
输出一个整数,表示使得任何员工都能与其他所有员工通信所需的最少费用。
输入输出样例
输入 #1
5 5 1 2 2 2 3 2 3 4 2 4 5 1 5
输出 #1
0
输入 #2
8 7 0 3 1 2 3 1 1 2 5 4 2 6 7 1 3 2 7 4 1 1
输出 #2
2
输入 #3
2 2 1 2 0
输出 #3
1
**样例说明**
在第二个样例中,第 $1$ 号员工可以学习语言 $2$,第 $8$ 号员工可以学习语言 $4$。
在第三个样例中,第 $2$ 号员工必须学习语言 $2$。
在第二个样例中,第 $1$ 号员工可以学习语言 $2$,第 $8$ 号员工可以学习语言 $4$。
在第三个样例中,第 $2$ 号员工必须学习语言 $2$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?