在遥远的未来,人类已步入深空探索时代。 一家名为“星尘航路”的先锋公司绘制了一份包含 n 个未知星系的宏伟星图。 每个星系 i 都被赋予了一个独特的空间量子签名 a_i ,这是一个用于描述其多维度物理特性的巨大整数。 “星尘航路”公司掌握了一项革命性技术:在两个星系之间开启稳定的虫洞。 然而,虫洞的建立条件极为苛刻,只有当两个星系 i 和 j 的空间量子签名发生“谐波共振”时才能成功。 您是“星尘航路”公司的一名网络架构师,负责规划星际航线。您需要分析给定的 n 个星系及其签名,以确定最高效的航行网络。 星系网络 : 整个星图可以被看作一个巨大的网络(一个无向图),其中每个星系是一个节点。 虫洞(边): 只有当星系 i 和星系 j ( i ≠ j ) 的签名 a_i 和 a_j 满足谐波共振条件时,它们之间才能建立一条虫洞(一条边)。共振条件被定义为两个签名的 按位与 (Bitwise AND) 运算结果不为零: a_i \& a_j ≠ 0 航行回路 : 您的任务是找出这个星际网络中最短的航行回路(即图论中的“环”)。一个有效的回路必须至少包含 3 个星系。回路的长度定义为它所包含的虫洞数量。 任务目标 : 计算出最短航行回路的长度。如果网络中不存在任何回路,则报告该情况。
第一行是一个整数 n ,代表已发现的星系总数 ( 1 ≤ n ≤ 10^6 )。 第二行是 n 个用空格分隔的整数 a_1, a_2, ..., a_n ,代表每个星系的空间量子签名 ( 0 ≤ a_i ≤ 10^18 )。注意:签名值可能为 0 或出现重复。
输出一个整数,表示最短航行回路的长度。 如果星际网络中不存在任何回路,则输出 -1 。
10 448 0 112 0 0 0 28 260 3 0
4
4 1 2 4 8
-1
考点:高精度
数据规模 n ≤ 1e6 | 限制 3 秒 / 512MB | 标准输入输出
参考方向:高精度
用数组/字符串模拟竖式运算,突破内置整数范围限制。
思路框架(高精度 通法 · 非本题专属)
实现要点:Python 原生支持大整数,本题用 Python 可直接算;C++ 需手写或使用 __int128 兜底。
复杂度:时间 O(位数 × 位数) | 空间 O(位数)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1
10 / 448 0 112 0 0 0 28 260 3 04样例 2
4 / 1 2 4 8-1解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2025年秋招-华为-10月29号开发岗。