LPL夏季赛:前期绕后包抄打出大优 DMO击败SN扳平比分
142
2024 / 10 / 04
目录
题目描述
输入格式
输出格式
样例输入
样例输出
提示
原题链接
代码思路
小蓝有 N 个小球,编号 1 至 N。其中 N − 1 是正品,重量相同;有 1 个是次品,重量比正品轻。
为了找出次品,小蓝已经用天平进行了 M 次称重,并且记录下来每次两边放的小球编号,和称重结果。
请你根据记录,判断还剩下几个小球有次品的嫌疑。
第一行包含 2 个整数 N 和 M。
以下包含 M 次称重记录,每个记录占 4 行。
第一行是一个整数 K,表示天平两边各放了 K 个小球。
第二行包含 K 个整数,代表放在天平左边的小球编号。
第三行包含 K 个整数,代表放在天平右边的小球编号。
第四行是一个字符,为 ‘>’, ‘<’, ‘=’ 之一。‘>’ 代表左边比右边重,‘<’ 代表左边比右边轻,‘=’ 代表两边重量相等。
在一次称重中保证每个小球最多出现 1 次。
输出一个整数,代表答案。
{1, 2, 3} < {4, 5, 6} 能判断出次品在 {1, 2, 3} 之中。
{3, 7} = {8, 9} 能判断出 3 不可能是次品。
所以只剩下 {1, 2} 可能是次品。
对于 40% 的数据,1 ≤ N ≤ 106 ;
对于 100% 的数据,1 ≤ N ≤ 109 , 1 ≤ M ≤ 105 , 参与 M 次称重的小球总数 ≤ 106 .
代码中调用HashSet集合的函数 介绍
isEmpty():用于判断HashSet是否为空.如果HashSet为空,则返回True,否则返回False.
contains():用于判断HashSet是否包含某个元素.如果包含指定的元素,则返回true,否则返回false.
发表评论
暂时没有评论,来抢沙发吧~