用html是做班级简介网站,推广业务网站建设,合肥专业做网站的公司哪家好,php网站模板一、题目 题目描述#xff1a; 某生产门电路的厂商发现某一批次的或门电路不稳定#xff0c;具体现象为计算两个二进制数的或操作时#xff0c;第一个二进制数中某两个比特位会出现交换#xff0c; 交换的比特位置是随机的#xff0c;但只交换这两个位#xff0c;其他位不…一、题目 题目描述 某生产门电路的厂商发现某一批次的或门电路不稳定具体现象为计算两个二进制数的或操作时第一个二进制数中某两个比特位会出现交换 交换的比特位置是随机的但只交换这两个位其他位不变。 很明显这个交换可能会影响最终的或结果也可能不会有影响。 为了评估影响和定位出错的根因工程师需要研究在各种交换的可能下最终的或结果发生改变的情况有多少种。 二、输入输出 输入描述: 第一行有一个正整数N;其中1≤N≤1000000。 第二行有一个长为N的二进制数表示与电路的第一个输入数即会发生比特交换的输入数。 第三行有一个长为N的二进制数表示与电路的第二个输入数。注意第二个输入数不会发生比特交换。输出描述: 输出只有一个整数表示会影响或结果的交换方案个数。 三、示例 示例1 输入输出示例仅供调试后台判题数据一般不包含示例 输入 3 010 110 输出 1 说明 原本010和110的或结果是110但第一个输入数可能会发生如下三种交换 1.交换第1个比特和第2个比特第一个输入数变为100计算结果为110计算结果不变 2.交换第1个比特和第3个比特第一个输入数变为010计算结果为110计算结果不变 3.交换第2个比特和第3个比特第一个输入数变为001计算结果为111计算结果改变 故只有一种交换会改变计算结果。 四、要求 时间限制C/C 1秒其他语言 2秒 空间限制C/C262144K其他语言524288K 64bit IO Format%lld 五、解题思路 1明显同数字之间的交换不会产生影响所以就是0和1之间的交换。 2因为要与第二次输入的数进行或计算那么如果第二次输入的数的其中一位只要是1那么不管第一次输入有没有发生交换或结果都是1。所以第二次输入的当该位为0的时候第一次输入的交换才有意义。 六、参考代码
# -*- coding: utf-8 -*-File : 2023-B-出错的或电路.py
Time : 2023/12/10 00:09:00
Author : mgc
Version : 1.0
Desc : None
import os
import sys
import re
import ren int(input())a input()
b input()
c []
cnt [0] * 2
for i in range(n):if b[i] 0:c.append(int(a[i]))if a[i] 0:cnt[0] 1else:cnt[1] 1
total 0for i in range(len(c)):total cnt[c[i] ^ 1]cnt[c[i]] - 1print(total)