P6454 麻将 加强版
题目背景
此题我本来是想出公开赛的,没想到撞题了。
题面是我自己撰写的,与原题不同。
此题题意与 [P4050](https://www.luogu.com.cn/problem/P4050) 大致相同,**有少许不同**,**且数据范围有所更改**。
------------
小 A 喜欢打麻将。
题目描述
小 A 找到了一副奇怪的麻将牌:只有一种 $1,2,\cdots,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$ 个整数 $a_1,a_2,\cdots,a_k$ 给出小 A 的手牌,每个数表示小 A 手上的一张牌。**不保证按升序给出。**
输出格式
第一行一个正整数 $t$,表示小 A「听」的牌的种数。
接下来一行 $t$ 个正整数,表示小 A「听」哪些牌。**请按照升序输出。**
说明/提示
#### 样例解释
样例一解释:这种牌型叫做[纯正九莲宝灯](https://zh.moegirl.org/%E6%97%A5%E6%9C%AC%E9%BA%BB%E5%B0%86:%E4%B9%9D%E8%8E%B2%E5%AE%9D%E7%81%AF)。~~折寿警告~~
具体划分方式:
```plain
1 111|123|456|789|99
2 111|345|678|999|22
3 123|345|678|999|11
4 111|234|456|789|99
5 111|234|678|999|55
6 123|456|678|999|11
7 111|234|567|789|99
8 111|234|567|999|88
9 123|456|789|999|11
```
[](https://i.loli.net/2020/04/18/TPvukw8pbHNnFC4.png)
样例二解释:很显然这套牌差一张 $7$ 即可分为 $1,1;1,1;3,3;3,3;5,5;5,5;7,7$ 共计 $7$ 组「雀头」和牌。
#### 数据范围
**本题采用捆绑测试。**
- $\text{Subtask\;1(5\;pts)}$:$k=1$。
- $\text{Subtask\;2(5\;pts)}$:$n=1$。
- $\text{Subtask\;3(10\;pts)}$:$n=9$。
- $\text{Subtask\;4(15\;pts)}$:$k\le 100$。
- $\text{Subtask\;5(15\;pts)}$:$n\le 100$。
- $\text{Subtask\;6(50\;pts)}$:无特殊限制。
对于所有数据,$1\le n\le 5\times10^3$,$1\le k\le 10^5$,$1\le a_i\le n$,$k\equiv 1\pmod 6$。