#P1534. 2023.10.12-秋招-留学生-第三题-塔子哥的分糖果方案

2023.10.12-秋招-留学生-第三题-塔子哥的分糖果方案

题目描述

塔子哥组织小朋友们在玩一场小游戏, 一共有nn个小朋友, 编号为0...n10 ... n-1, 每个小朋友身后都有一根绳子, 一个小朋友可以不拿或者拿多个同学的绳子, 拿完之后塔子哥会让小朋友们保持不动, 给小朋友发糖果。

给一个小朋友分糖果, 他就会开心, 否则他就会不开心。

可是塔子哥的糖果没有很多了, 怎么分才能使最少的糖果让每个绳子两头都最少有一个开心的小朋友呢

(一个小朋友只能被一个小朋友牵, 一个小朋友可以牵多个小朋友, 最终类似一个树形结构, 题目保证所有小孩子都牵了人或者被人牵)

输入描述

第一行一个整数nn,表示小朋友数量(1n1500)(1\le n\le 1500) 接下来nn行,每行以a:(b)a:(b) 这样的格式开头,aa表示小朋友的编号(0an1)(0\le a\le n-1) bb表示第ii个小朋友牵了几个小朋友,接下来bb个数,表示被牵的小朋友的编号

输出描述

一个数字,为需要的糖果的最少个数

样例

输入1

3
0:(2) 1 2
1:(0)
2:(0)

输出1

1

说明

0号小朋友与1号和2号相连,那么只需要给0号发一个糖果就可使得所有绳子两端都有开心的小朋友

输入2

8
0:(3) 1 2 3
1:(1) 6
2:(0)
3:(0)
6:(1) 7
7:(2) 4 5
4:(0)
5:(0)

输出2

3

说明0, 6, 7号小朋友发糖果, 就可使得所有绳子两端都有开心的小朋友