登录 |
公孙玉龙创造了一门动态类型编程语言,他想出了一种垃圾回收的方式。
现在有若干个赋值语句,每个赋值语句由 a 和 b 组成。变量名仅由小写和大写字母组成,已知 a 是 一个变量名。整数对象为长度不超过 100 的整数。如果 b 是一个整数对象,那么表示 b 整数对象被 a 所 引用。如果 b 是一个变量名,那么表示 a 引用 b 所引用的整数对象,并且保证 b 变量在之前已被赋值。 如果一个整数对象没有被任何一个变量所引用,则该整数对象被系统回收。如果两个整数对象的值相同, 则它们是同一个整数对象。
请你输出最终有多少个整数对象没有被回收。
第一行包含一个正整数 T(1 ≤ T ≤ 100) 代表测试数据组数。
每一组数据第一行为一个正整数 n(1 ≤ n ≤ 100),接下来 n 行每行由 a b 组成,表示将 b 赋值给 a, 其中 a 为变量名,b 为变量名或一个整数对象,1 ≤ |a| |b| ≤ 100。
对于每一组数据,输出最终有多少个整数对象没有被回收。
2 3 TNT 2 SNS 3 BNB 3 5 T 2 N 2 T N S 3 B 3
2 2