A34181.加密信息

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

密码学家 Jerry 希望加密一些信息。这些数字信息存储在一个长度为 nn 的数组中,每个数字可以看作是一串具有特定含义的数字。为了进一步隐藏这些信息,他决定对其中的数字进行一个独特的“混淆”操作。

为了保证新生成的数字不会被原始信息泄露出来,他设置的混淆操作流程如下:

  1. 从数组中任意选择 22不同数字
  2. 同时交换两个数字的最高位最低位,最高位和最高位交换,最低位和最低位交换
  3. 交换后的两个数字都不在原数组中,那么用空格将交换后的数字串联起来,从而生成一个有效的数字组合
  4. 否则,不是一个有效的数字组合

密码学家 Jerry 希望知道,在遵循以上操作流程的情况下,可以生成多少个不同且有效的新数字组合。

输入格式

第一行输入一个整数 nn,代表数组长度。

第二行输入 nn 个整数 aia_i,代表数组中的数字。任意两个数字互不相同

输出格式

输出一个整数,表示可以生成的不同且有效的新数字组合个数。

输入输出样例

  • 输入#1

    4
    123344 526789 8004 823344

    输出#1

    6
  • 输入#2

    2
    1234 1984

    输出#2

    0

说明/提示

样例 1 解释

有效的数组组合方案有:

  1. (123344,526789)对应的新数字组合是 523349 126784
  2. (526789,123344)对应的新数字组合是 126784 523349
  3. (526789,8004)对应的新数字组合是 826784 5009
  4. (8004,526789)对应的新数字组合是 5009 826784
  5. (526789,823344)对应的新数字组合是 826784 523349
  6. (823344,526789)对应的新数字组合是 523349 826784

无效的方案有:

  1. (123344,8004)在原数组中存在交换后形成的数字 823344
  2. (8004,123344)在原数组中存在交换后形成的数字 823344
  3. (123344,823344)在原数组中存在交换后形成的数字 823344
  4. (823344,123344)在原数组中存在交换后形成的数字 823344
  5. (8004,823344)在原数组中存在交换后形成的数字 823344
  6. (823344,8004)在原数组中存在交换后形成的数字 823344

因此,总共有 66 个不同且有效的新数字组合。

数据规模与约定

对于其中 15%15\% 的数据,1n10,10ai1081 \leq n \leq 10, 10 \le a_i \le 10^8

对于其中 30%30\% 的数据,1n102,10ai1081\leq n \le 10^2, 10 \le a_i \le 10^8

对于其中 50%50\% 的数据,1n103,10ai10101\leq n \le 10^3, 10 \le a_i \le 10^{10}

对于 100%100\% 的数据,1n5×104,10ai10101 \le n \le 5 \times 10^4, 10 \le a_i \le 10^{10}

所有数据保证 aia_i 互不相同。

首页