通过率 55% · 提交 190 · 通过 105
小慕在调试一批刚采购的逻辑门芯片时,发现其中某个或门模块存在异常:当用它计算两个二进制数的按位或时,第一个二进制数中会有两个发生随机,交换的位置完全随机,但只交换这两个位,其余位保持不变。 显然,这种交换可能会改变最终的或运算结果,也可能没有影响。 为了评估这个缺陷带来的影响并定位故障原因,小慕需要分析在所有可能的交换情况下,最终或结果发生变化的次数有多少种。
这类题属于华为 OD 机考真题方向中「100分 / 数学」方向的高频题型,通常考察对「100分 / 数学」的建模能力与边界条件处理。掌握本题的解题思路后,可举一反三应对同类真题方向,稳步提升机考通过率。
提示:带虚线的词点一下有通俗解释。
第一行有一个正整数 N;其中 1≤N≤1000000。
第二行有一个长为 N 的二进制数,表示与电路的第一个输入数,即会发生比特交换的输入数。
第三行有一个长为 N 的二进制数,表示与电路的第二个输入数。注意第二个输入数不会发生比特交换。
输出只有一个整数,表示会影响或结果的交换方案个数。
示例 1
输入示例
6 011011 110110
输出示例
4
原本 011011 和 110110 的或结果是 111111,但第一个输入数发生如下比特交换会影响最终计算结果:
示例 2
输入示例
3 010 110
输出示例
1
原本 010 和 110 的或结果是 110,但第一个输入数可能会发生如下三种交换:
时间限制 1000 ms · 内存限制 128 MB
本平台为独立第三方培训机构,与华为技术有限公司无任何关联;课程的服务内容与权益以购买协议为准,学习效果因个人情况而异。「华为 OD」「华为可信」等仅为对岗位与考试方向的客观描述,相关商标归各自权利人所有。
登录后可查看你在本题的历史提交,以及每次的各用例通过情况。
© 2026 广州慕课网络科技有限公司 · 吴师兄学算法官网 版权所有