CF1210A Anadi and Domino

题目描述

Anadi 有一套多米诺骨牌。每张多米诺骨牌有两部分,每部分上有若干点数。对于每一组 $a$ 和 $b$,满足 $1 \leq a \leq b \leq 6$,恰好有一张骨牌,一半上有 $a$ 个点,另一半上有 $b$ 个点。这套骨牌一共有 $21$ 张。下面是这套骨牌的示意图: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1210A/193a676895f295bec903846459c8fbb4cfe63530.png) 此外,Anadi 有一个无向图,图中没有自环和重边。他想选择一些骨牌,放在图的边上。每种骨牌最多只能用一次,每条边最多只能放一张骨牌。并不是每条边都必须放骨牌。 当在一条边上放置骨牌时,还可以选择骨牌的方向。也就是说,骨牌的一半朝向这条边的一个端点,另一半朝向另一个端点。有一个限制:如果有多张骨牌的某一半朝向同一个顶点,那么这些骨牌的这一半上必须有相同数量的点。 Anadi 最多能在图的边上放多少张骨牌?

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 7$,$0 \leq m \leq \frac{n\cdot(n-1)}{2}$),表示图中有 $n$ 个顶点和 $m$ 条边。 接下来的 $m$ 行,每行包含两个整数 $a_i$ 和 $b_i$($1 \leq a, b \leq n$,$a \neq b$),表示有一条边连接顶点 $a_i$ 和 $b_i$。 图可能是不连通的。保证图中没有自环,每对顶点之间至多有一条边。

输出格式

输出一个整数,表示 Anadi 最多能在图的边上放多少张骨牌。

说明/提示

下面是第一个样例测试中 Anadi 的图示意: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1210A/94ad4b12a23f937ce25d1a8dd56a0a5e88e2971f.png) 下面是其中一种在每条边上放置骨牌的方式: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1210A/ba84bba8203cedeee725b5cfbf8055b10d944349.png) 注意,每个顶点朝向它的骨牌的一半上的点数都相同。例如,所有朝向顶点 $1$ 的骨牌的一半上都有三个点。 由 ChatGPT 4.1 翻译