有若干名猎人来到草原狩猎,每名猎人在狩猎开始前需要灵活搭配技能用于击杀猎物,每个技能由十六进制数[0,F]中的某个数来表达,每个猎人都必须选择8种不重复的技能。草原上有各种各样的猎物,并且具备一些弱点,弱点也由十六进制数[0,F]中的某个数字表达。猎人能击杀某种猎物的前提是同时满足:
1.猎人的技能可以覆盖猎物的所有弱点。
2.猎人的技能至少包含[A,F]中的其中一个技能。
二进制枚举操作:https://oi-wiki.org/math/binary-set/
不知道这个知识点,接下来的方法将举步维艰。
给定若干猎人和猎物,每名猎人有8种技能,每种猎物有若干弱点。猎人要击杀猎物需满足:技能覆盖所有弱点,技能中包含A~F其中一个,且最后一个技能能命中任意一个弱点。计算每个猎人能击杀的猎物数量。
技能和弱点的二进制掩码表示: