(x+t)(y+t) 为偶数,当且仅当 x+t 与 y+t 里至少有一个偶数。把货签按 vi+t 的奇偶分成偶类和奇类。
货场要把一排货签两两编成档册。共有 m 件货,第 i 件上写着正整数 vi。场规还给定一个正整数 t:两件货签 x、y 只有在 (x+t)×(y+t) 为偶数时才能编成一档,也就是 x+t 与 y+t 里至少有一个是偶数。每件货最多编入一档。
请编出尽可能多的档。方案可以按任意顺序给出;有多种最大方案时给出其中任意一种即可。
约束:
1 ≤ m,t,vi ≤ 1000000第一行两个整数 m 和 t(1 ≤ m,t ≤ 1000000),表示货件数和场规常数。
第二行 m 个整数 v1,v2,…,vm(1 ≤ vi ≤ 1000000),表示各件货签上的数。
第一行一个整数 c,表示最多能编成的档数。
随后 c 行,每行两个整数,表示一档里的两个货签数。档的顺序、一行里两个数的左右顺序均不限。
输入
6 2
7 8 9 1 2 3
输出
2
8 7
2 9
说明
t=‘2‘ 为偶数。(8+2)×(7+2)=‘90‘、(2+2)×(9+2)=‘44‘ 都是偶数。剩下 1 与 3 对应的 x+t 都是奇数,乘积为奇数,不能再编档。
输入
1 3
5
输出
0
说明
只有一件货,无法配对。
输入
4 4
2 4 6 8
输出
2
2 4
6 8
说明
四件的 vi+t 都是偶数,两两都能编档,最多 2 档。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册