P13793 [SWERC 2023] Supporting everyone
题目描述
:::align{center}

:::
Alice 参加了一场有许多国家队伍的体育赛事,对她来说有一件事很重要:支持每一个国家。
共有 $N$ 个国家参赛,她有两种方式支持一个国家:要么在身上画上该国国旗的颜色,要么佩戴带有该国名字的徽章。Alice 有一份清单,列出了每个国家国旗所需的颜色。所有国旗一共可能用到 $M$ 种颜色,在 Alice 的清单中,每种颜色都用 $1$ 到 $M$ 之间的整数表示。
每支蜡笔和每个徽章的价格都是 $1$,但她的预算很紧张……你能帮她计算出支持所有国家所需的最小花费吗?
输入格式
第一行包含两个用空格分隔的整数 $N$ 和 $M$。
接下来有 $2N$ 行,每两行为一组,描述第 $i$ 个国家。
具体来说,第 $2i-1$ 行包含一个整数 $k_i$,表示第 $i$ 个国家国旗所需的颜色数。
第 $2i$ 行包含 $k_i$ 个用空格分隔的整数 $c_{i,1}, c_{i,2}, \dots , c_{i,k_i}$,表示第 $i$ 个国家国旗所需的颜色。
**数据范围**
- $1 \leq N \leq 1000$;
- $1 \leq M \leq 100$;
- $1 \leq k_i \leq M$,对于所有 $i \leq N$;
- $1 \leq c_{i,j} \leq M$,对于所有 $i \leq N$ 且 $j \leq k_i$;
- 对于所有 $i \leq N$,颜色编号均在 $1$ 到 $M$ 之间。
输出格式
输出一行,一个整数,表示 Alice 支持所有国家所需的最小花费(蜡笔和徽章的总数)。
说明/提示
**样例解释 1**
前三个国家可能是法国、荷兰和捷克共和国,它们的国旗都包含蓝色(1)、白色(4)和红色(5)。接下来的三个国家可能是意大利、匈牙利和保加利亚,国旗包含绿色(3)、白色(4)和红色(5)。最后一个国家可能是德国,国旗包含黑色(2)、红色(5)和黄色(6)。最小花费为 5:购买四支蜡笔(蓝色、绿色、白色和红色)和一个徽章(用于德国)。
**样例解释 2**
我们可以为颜色 7 和 9 各买一支蜡笔,再为两个国家各买一个徽章,总花费为 4。所有包含颜色 7(红色)和 9(白色)的六个国家可能是加拿大、印度尼西亚、日本、马耳他、摩纳哥和波兰。伯利兹的国旗有 12 种颜色,包括红色和白色,第五个国家可能是博茨瓦纳。
>注:在原题面中,该样例解释中是购买颜色 7 和 11 的蜡笔,但实际上应该是颜色 7 和 9。
由 ChatGPT 4.1 翻译