#luoguP1820. 麻将 加强加强版

    ID: 10670 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>动态规划 DP图论建模有限状态自动机

麻将 加强加强版

本题没有可用的提交语言。

题目背景

此题为 P4050P6454 的加强版。

小 A 喜欢打麻将。

题目描述

小 A 找到了一副奇怪的麻将牌:只有一种 1,2,,n1,2,\cdots,n 的数牌,且每种牌都有无穷多张

定义「雀头」为两张一样的牌(如 2,22,27,77,7),「刻子」为三张一样的牌(如 1,1,11,1,14,4,44,4,4),「顺子」为三张序数相邻的牌(如 1,2,31,2,39,10,119,10,11,注意 11nn 不相邻)。「顺子」与「刻子」统称「面子」。

假如你能把你的手牌分为若干组「面子」(可以相同)以及一组「雀头」,那么你就可以「和牌」。

假如某副手牌加上某张牌后可以「和牌」,则称这副手牌「听」这张牌。

现在小 A 随意摸了 kk 张牌,他想知道他「听」哪些牌。

输入格式

第一行两个正整数 n,kn,k,分别表示牌的范围和小 A 手上牌的张数。

接下来一行 kk 个整数 a1,a2,,aka_1,a_2,\cdots,a_k 给出小 A 的手牌,每个数表示小 Z 手上的一张牌。

输出格式

第一行若干个正整数,表示小 A「听」哪些牌。请按照升序输出。

特殊地,如果小 A 不「听」任何牌,请输出 QAQ

4 4
1 2 3 4
1 4
9 13
1 1 1 2 3 4 5 6 7 8 9 9 9
1 2 3 4 5 6 7 8 9
2 2
1 2
QAQ

提示

【样例解释】

  • 样例一解释:两种情况,11/234123/44
  • 样例二解释:此牌型为「纯正九莲宝灯」,可以「听」所有数牌。

【数据范围】

本题采用捆绑测试。

  • Subtask 1(10 pts):1k161\leq k\leq 16
  • Subtask 2(10 pts):1k4001\leq k\leq 400
  • Subtask 3(30 pts):1k1031\leq k\leq 10^3
  • Subtask 4(30 pts):1k3×1041\leq k\leq 3\times10^4
  • Subtask 5(20 pts):无特殊限制。

对于所有数据,1aink2×1051\leq a_i\leq n\leq k\leq 2\times10^5