#LQ060. 小弱洗牌法

小弱洗牌法

题目描述

小弱 T 在闲暇的时候会和室友打扑克,输的人就要负责洗牌。虽然小弱 T 不怎么会洗牌,但他却总是输。

渐渐地,小弱 T 发现了一个规律:只要是自己洗的牌,自己就一定会输。因此他怀疑自己洗牌不够均匀,于是独创了一种“小弱洗牌法”。

洗牌法如下:

  • 使用传统方法将 52 张扑克牌(不含大小王,牌面为 1~10JQK,共计 52 张,每种牌各 4 张)打乱,形成一叠牌堆;
  • 从牌堆顶依次取出每张牌:
    • 若这张牌点数为 $P$(点数为:1~10 本身,J=11,Q=12,K=13),则将其插入到当前手牌的第 $P$ 张牌之后;
    • 若当前手牌数不足 $P$ 张,则将其插入手牌末尾。

现在给出这个打乱后的牌堆,请模拟小弱洗牌法,输出洗完牌后的序列。

如果牌的总数不为 52,请输出 -1 提醒牌数不对。

输入格式

输入为若干行字符串,表示打乱后的牌堆,自顶向底排列。每张牌为 "1" ~ "10""J""Q""K" 中的一个,用空格分隔。

输入中可能有换行。

输出格式

若牌数为 52,按小弱洗牌法输出处理后的牌序列,牌之间用空格分隔;

否则输出 -1

4 6 K Q 5 1 Q 9 7 9 K 3 J 1 2 3 5
2
3 5 7 Q 7 10 8 4 9 7 8 9 4
10 6 2 8 2 10 10 Q 5 K J 1
J 8 3 K 4 1 6 J 6
4 1 1 1 3 4 6 6 2 2 2 5 J 3 8 4 4 6 K J 8 J 10 10 K Q 2 5 7 8 10 9 3 7 9 8 7 1 10 5 6 3 Q K Q 5 Q 7 9 9 J K
1 2 3
-1