bzoj#P4205. 卡牌配对
卡牌配对
题目描述
现在有一种卡牌游戏,每张卡牌上有三个属性值:。把卡牌分为 两类,分别有 张。
两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且两张卡牌类别不同。
比如一张 类卡牌属性值分别是 ,一张 类卡牌属性值分别为 。那么这两张牌是可以配对的,因为只有 和 一组属性互质。
游戏的目的是最大化匹配上的卡牌组数,当然每张卡牌只能用一次。
输入格式
数据第一行两个数 ,空格分割。
接下来 行,每行三个数,依次表示每张 类卡牌的三项属性值。
接下来 行,每行三个数,依次表示每张 类卡牌的三项属性值。
输出格式
输出一个整数:最多能够匹配的数目。
样例
2 2
2 2 2
2 5 5
2 2 5
5 5 5
2
样例说明
样例中第一张 类卡牌和第一张 类卡牌能配对,第二张 类卡牌和两张 类卡牌都能配对。所以最佳方案是第一张 和第一张 配对,第二张 和第二张 配对。
数据规模与约定
对于 的数据:,属性值为不超过 的正整数。
提示
请大胆使用渐进复杂度较高的算法!