题目背景
此题我本来是想出公开赛的,没想到撞题了。
题面是我自己撰写的,与原题不同。
此题题意与 P4050 大致相同,有少许不同,且数据范围有所更改。
小 A 喜欢打麻将。
题目描述
小 A 找到了一副奇怪的麻将牌:只有一种 1,2,⋯,n 的数牌,且每种牌都有无穷多张。
定义「雀头」为两张一样的牌(如 2,2,7,7),「刻子」为三张一样的牌(如 1,1,1,4,4,4),「顺子」为三张序数相邻的牌(如 1,2,3,9,10,11,注意 1 与 n 不相邻)。「顺子」与「刻子」统称「面子」。
假如你能把你的手牌分为若干组「雀头」(可以相同),或者分为若干组「面子」(可以相同)以及一组「雀头」,那么你就可以「和牌」。
假如某副手牌加上某张牌后可以「和牌」,则称这副手牌「听」这张牌。
现在小 A 随意摸了 k 张牌,他想知道他「听」哪些牌。
输入格式
第一行两个正整数 n,k,分别表示牌的范围和小 A 手上牌的张数。
接下来一行 k 个整数 a1,a2,⋯,ak 给出小 A 的手牌,每个数表示小 A 手上的一张牌。不保证按升序给出。
输出格式
第一行一个正整数 t,表示小 A「听」的牌的种数。
接下来一行 t 个正整数,表示小 A「听」哪些牌。请按照升序输出。
提示
样例解释
样例一解释:这种牌型叫做纯正九莲宝灯。折寿警告
具体划分方式:
样例二解释:很显然这套牌差一张 7 即可分为 1,1;1,1;3,3;3,3;5,5;5,5;7,7 共计 7 组「雀头」和牌。
数据范围
本题采用捆绑测试。
- Subtask1(5pts):k=1。
- Subtask2(5pts):n=1。
- Subtask3(10pts):n=9。
- Subtask4(15pts):k≤100。
- Subtask5(15pts):n≤100。
- Subtask6(50pts):无特殊限制。
对于所有数据,1≤n≤5×103,1≤k≤105,1≤ai≤n,k≡1(mod6)。