luogu#P12026. [USACO25OPEN] Compatible Pairs S
[USACO25OPEN] Compatible Pairs S
题目描述
在遥远的乡村,农夫约翰的奶牛并非普通的农场动物——它们隶属于一个秘密的奶牛情报网络。每头奶牛都有一个由精英密码学家精心分配的ID号码。但由于农夫约翰随意的标记系统,部分奶牛出现了重复ID的情况。
农夫约翰记录到共有 ()个不同的ID号码,对于每个唯一ID (),有 ()头奶牛共享该ID。
奶牛们只能成对交流,它们的加密通信有一个严格规则:两头奶牛仅当不是同一头牛且它们的ID号码之和等于 或 ()时才能交换信息。每头奶牛同一时间只能参与一次对话(即不能同时属于多对通信组合)。
农夫约翰希望最大化互不干扰的通信对数来确保最佳信息流通。你能计算出最多可以同时建立多少对通信吗?
输入格式
第一行包含 、、。 接下来 行每行包含 和 。所有 均不相同。
输出格式
可同时建立的最大互不干扰通信对数。
注意:由于涉及大整数运算,可能需要使用 64 位整数类型(如C/C++中的 long long
)。
4 4 5
17 2
100 0
10 1
200 4
118
提示
解释: ID为 的奶牛可与 ID 为 奶牛通信(ID 之和为 )。由于共有 头 ID 的奶牛和 头 ID 的奶牛,最多可组成 对通信组合。
ID 为 的奶牛还可与 ID 为 的奶牛通信(ID 之和为)。此时剩余 头 ID 的奶牛和 头 ID 的奶牛可组成 对通信组合。
最后,ID 为 的奶牛可与其他同 ID 奶牛通信。 头 ID 的奶牛最多可组成 对通信组合()。
总计 对通信组合,可以证明这是最大可能值。
- 测试点 :。
- 测试点 :。
- 测试点 :无额外限制。