logo AlgoBeat OnlineJudge
登录 注册

#104205. [BZOJ 4205] 卡牌配对

内存限制:512 MiB 时间限制:20000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

现在有一种卡牌游戏,每张卡牌上有三个属性值:。把卡牌分为 两类,分别有 张。

两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且两张卡牌类别不同。

比如一张 类卡牌属性值分别是 ,一张 类卡牌属性值分别为 。那么这两张牌是可以配对的,因为只有 一组属性互质。

游戏的目的是最大化匹配上的卡牌组数,当然每张卡牌只能用一次。

输入格式

数据第一行两个数 ,空格分割。

接下来 行,每行三个数,依次表示每张 类卡牌的三项属性值。

接下来 行,每行三个数,依次表示每张 类卡牌的三项属性值。

输出格式

输出一个整数:最多能够匹配的数目。

样例

样例

样例输入 #1

2 2
2 2 2
2 5 5
2 2 5
5 5 5

样例输出 #1

2

样例说明

样例中第一张 类卡牌和第一张 类卡牌能配对,第二张 类卡牌和两张 类卡牌都能配对。所以最佳方案是第一张 和第一张 配对,第二张 和第二张 配对。

数据范围与提示

对于 的数据:,属性值为不超过 的正整数。

请大胆使用渐进复杂度较高的算法!