A4622 | 加密信息
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
密码学家 Jerry 希望加密一些信息。这些数字信息存储在一个长度为 $n$ 的数组中,每个数字可以看作是一串具有特定含义的数字。为了进一步隐藏这些信息,他决定对其中的数字进行一个独特的“混淆”操作。
为了保证新生成的数字不会被原始信息泄露出来,他设置的混淆操作流程如下:
1. 从数组中任意选择 $2$ 个不同数字
2. 同时交换两个数字的最高位和最低位,最高位和最高位交换,最低位和最低位交换
3. 交换后的两个数字都不在原数组中,那么用空格将交换后的数字串联起来,从而生成一个有效的数字组合
4. 否则,不是一个有效的数字组合
密码学家 Jerry 希望知道,在遵循以上操作流程的情况下,可以生成多少个不同且有效的新数字组合。
为了保证新生成的数字不会被原始信息泄露出来,他设置的混淆操作流程如下:
1. 从数组中任意选择 $2$ 个不同数字
2. 同时交换两个数字的最高位和最低位,最高位和最高位交换,最低位和最低位交换
3. 交换后的两个数字都不在原数组中,那么用空格将交换后的数字串联起来,从而生成一个有效的数字组合
4. 否则,不是一个有效的数字组合
密码学家 Jerry 希望知道,在遵循以上操作流程的情况下,可以生成多少个不同且有效的新数字组合。
输入格式
第一行输入一个整数 $n$,代表数组长度。
第二行输入 $n$ 个整数 $a_i$,代表数组中的数字。任意两个数字互不相同。
第二行输入 $n$ 个整数 $a_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
因此,总共有 $6$ 个不同且有效的新数字组合。
##### 数据规模与约定
对于其中 $15\%$ 的数据,$1 \leq n \leq 10, 10 \le a_i \le 10^8$。
对于其中 $30\%$ 的数据,$1\leq n \le 10^2, 10 \le a_i \le 10^8$。
对于其中 $50\%$ 的数据,$1\leq n \le 10^3, 10 \le a_i \le 10^{10}$。
对于 $100\%$ 的数据,$1 \le n \le 5 \times 10^4, 10 \le a_i \le 10^{10}$。
所有数据保证 $a_i$ 互不相同。
有效的数组组合方案有:
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
因此,总共有 $6$ 个不同且有效的新数字组合。
##### 数据规模与约定
对于其中 $15\%$ 的数据,$1 \leq n \leq 10, 10 \le a_i \le 10^8$。
对于其中 $30\%$ 的数据,$1\leq n \le 10^2, 10 \le a_i \le 10^8$。
对于其中 $50\%$ 的数据,$1\leq n \le 10^3, 10 \le a_i \le 10^{10}$。
对于 $100\%$ 的数据,$1 \le n \le 5 \times 10^4, 10 \le a_i \le 10^{10}$。
所有数据保证 $a_i$ 互不相同。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?