#P2211. Photograph

Photograph

问题描述

选举活动刚刚开始,PSOS决定进行一些宣传。其中一位代表提出了一个绝妙的主意——为他们议会俱乐部的成员拍摄照片。然而,尽管经过多次讨论,代表们仍然无法就照片中成员的排列顺序达成一致。此外,代表人数众多,无法在一张照片中容纳所有人。情况变得非常紧急。最终,代表们决定为每一种可能的成员组合及其排列顺序拍摄一张照片。不同的照片将被用于PSOS计划使用的大量广告牌上。

为了更清晰地描述,每位代表都有一个唯一的身份编号(UIN)。每张照片可以描述为一个UIN序列x1,x2,,xkx_1, x_2, \ldots, x_k,其中xix_i表示照片中第ii个人的UIN。现在,我们需要将所有可能的照片(组合)排序为一个单一的序列。对于相同长度的组合(即照片中人数相同),其排序规则如下:组合pp大于组合qq,如果存在某个ii,使得对于所有j<ij < ipj=qjp_j = q_j,并且pi>qip_i > q_i。你的任务是为给定的照片在所有可能的照片序列中找到正确的位置。

输入格式

  • 第一行是一个正整数NN,表示接下来有NN个任务。
  • 每个任务包含两行:
    • 第一行是两个整数nnkk1kn121 \leq k \leq n \leq 12,分别表示代表的总人数和一张照片中可以容纳的代表人数。
    • 第二行是kk个正整数x1,x2,,xkx_1, x_2, \ldots, x_k,每个数的范围是1xin1 \leq x_i \leq n,且这kk个数互不相同。

输出格式

对于每个任务,输出一行:"Variace cislo I ma poradove cislo J."(组合#I的序号是J)。其中II是任务的编号(从1开始),JJ是给定照片在所有可能的组合中的序号(也从1开始)。

示例输入1

4
1 1
1
5 1
4
3 3
1 2 3
5 3
5 3 1

示例输出1

Variace cislo 1 ma poradove cislo 1.
Variace cislo 2 ma poradove cislo 4.
Variace cislo 3 ma poradove cislo 1.
Variace cislo 4 ma poradove cislo 55.

来源

CTU FEE Local 1998