A34181.加密信息
普及+/提高
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
密码学家 Jerry 希望加密一些信息。这些数字信息存储在一个长度为 n 的数组中,每个数字可以看作是一串具有特定含义的数字。为了进一步隐藏这些信息,他决定对其中的数字进行一个独特的“混淆”操作。
为了保证新生成的数字不会被原始信息泄露出来,他设置的混淆操作流程如下:
- 从数组中任意选择 2 个不同数字
- 同时交换两个数字的最高位和最低位,最高位和最高位交换,最低位和最低位交换
- 交换后的两个数字都不在原数组中,那么用空格将交换后的数字串联起来,从而生成一个有效的数字组合
- 否则,不是一个有效的数字组合
密码学家 Jerry 希望知道,在遵循以上操作流程的情况下,可以生成多少个不同且有效的新数字组合。
输入格式
第一行输入一个整数 n,代表数组长度。
第二行输入 n 个整数 ai,代表数组中的数字。任意两个数字互不相同。
输出格式
输出一个整数,表示可以生成的不同且有效的新数字组合个数。
输入输出样例
输入#1
4 123344 526789 8004 823344
输出#1
6
输入#2
2 1234 1984
输出#2
0
说明/提示
样例 1 解释
有效的数组组合方案有:
- (123344,526789)对应的新数字组合是 523349 126784
- (526789,123344)对应的新数字组合是 126784 523349
- (526789,8004)对应的新数字组合是 826784 5009
- (8004,526789)对应的新数字组合是 5009 826784
- (526789,823344)对应的新数字组合是 826784 523349
- (823344,526789)对应的新数字组合是 523349 826784
无效的方案有:
- (123344,8004)在原数组中存在交换后形成的数字 823344
- (8004,123344)在原数组中存在交换后形成的数字 823344
- (123344,823344)在原数组中存在交换后形成的数字 823344
- (823344,123344)在原数组中存在交换后形成的数字 823344
- (8004,823344)在原数组中存在交换后形成的数字 823344
- (823344,8004)在原数组中存在交换后形成的数字 823344
因此,总共有 6 个不同且有效的新数字组合。
数据规模与约定
对于其中 15% 的数据,1≤n≤10,10≤ai≤108。
对于其中 30% 的数据,1≤n≤102,10≤ai≤108。
对于其中 50% 的数据,1≤n≤103,10≤ai≤1010。
对于 100% 的数据,1≤n≤5×104,10≤ai≤1010。
所有数据保证 ai 互不相同。