TopCoder

icube
baluteshih 好強 <(_ _)>

User's AC Ratio

95.2% (40/42)

Submission's AC Ratio

60.4% (61/101)

Tags

Description

賤狗高中麻將社準備參加全市的麻將大賽,代表選手有盩僰麌,大陸人,小鶍,木星人,企鵝。盩僰麌帶領的隊伍哪有可能輸呢?但是因為盩僰麌會裝弱,所以要靠其他人來凱瑞。盩僰麌表示為了增進大家的算牌能力,所以現在要玩一種進階版的麻將(牌的數字為$1 \sim N$、手上會持有$3M+1$張牌,不考慮牌不足的狀況),必須在很短的時間裡看出聽什麼牌。身為選手的企鵝覺得沒有原村和的擁抱,他就智商下降,所以希望你幫忙寫一個程式,判斷聽什麼牌。

首先先定義三個名詞:

  1. 將:兩張相同數字的牌
  2. 刻子:三張相同數字的牌
  3. 順子:數字相連的三張牌

所謂「和牌」,就是$3M+2$張牌,可以拆成一個將、$x$個刻子和$y$個順子,其中$x,y\geq 0;x+y=M$。
而聽某張牌的意思是,當前手上持有的$3M+1$張牌加上那張牌之後就會成為和牌。

Input Format

第一行包含兩個正整數$N,M$,表示牌的數字為$1 \sim N$,且手上持有$3M + 1$張牌。

對於所有測資,$9 \leq N \leq 400;4 \leq M \leq 1000$。

子任務(測資) 額外限制 分數
1 (0~10) $N=9,M=4$ 30
2 (0~31) 70

Output Format

如果此牌為聽牌,則輸出一行,列出當前手上的牌聽那些牌(必須由小排到大),若此非聽牌,則輸出一行NO

Sample Input 1

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

Sample Output 1

1 2 3 4 5 6 7 8 9

Sample Input 2

9 4
3 1 4 1 5 9 2 6 5 3 5 8 9

Sample Output 2

NO

Hints

Problem Source

Problem Set by Ting.H

Subtasks

No. Testdata Range Score
1 0~10 30
2 0~31 70

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 500 65536 262144 1 2
1 500 65536 262144 1 2
2 500 65536 262144 1 2
3 500 65536 262144 1 2
4 500 65536 262144 1 2
5 500 65536 262144 1 2
6 500 65536 262144 1 2
7 500 65536 262144 1 2
8 500 65536 262144 1 2
9 500 65536 262144 1 2
10 500 65536 262144 1 2
11 500 65536 262144 2
12 500 65536 262144 2
13 500 65536 262144 2
14 500 65536 262144 2
15 500 65536 262144 2
16 500 65536 262144 2
17 500 65536 262144 2
18 500 65536 262144 2
19 500 65536 262144 2
20 500 65536 262144 2
21 500 65536 262144 2
22 500 65536 262144 2
23 500 65536 262144 2
24 500 65536 262144 2
25 500 65536 262144 2
26 500 65536 262144 2
27 500 65536 262144 2
28 500 65536 262144 2
29 500 65536 262144 2
30 500 65536 262144 2
31 500 65536 262144 2