Python出错的或电路

liftword3个月前 (03-25)技术文章16
def count_affected_swaps(N, A, B):
    # 将输入的二进制字符串转换为列表
    A = list(A)
    B = list(B)
    
    # 计算原始的或结果
    original_or = [str(int(a) | int(b)) for a, b in zip(A, B)]
    
    count = 0
    
    # 遍历所有可能的交换对
    for i in range(N):
        for j in range(i + 1, N):
            # 交换A中的第i位和第j位
            A[i], A[j] = A[j], A[i]
            # 计算新的或结果
            new_or = [str(int(a) | int(b)) for a, b in zip(A, B)]
            # 如果或结果发生变化,则计数
            if new_or != original_or:
                count += 1
            # 恢复交换
            A[i], A[j] = A[j], A[i]
    
    return count

# 读取输入
N = int(input())
A = input().strip()
B = input().strip()

# 计算并输出结果
print(count_affected_swaps(N, A, B))


相关文章

Python 中如何调用其他文件的类或函数

从程序员的角度来说,跨文件调用是为了提高代码的模块化和可重用性。想象一下,如果你的程序非常庞大,所有的代码都挤在一个文件里,那将会变得难以维护和修改。通过将不同的功能模块拆分到不同的文件中,我们可以更...

异或的魅力!图解「数组中两个数的最大异或值」

今天分享的题目来源于 LeetCode 第 421 号问题:数组中两个数的最大异或值。在 异或 这个知识点里面属于一个中高难度的题目。题目描述 给定一个非空数组,数组中元素为 a0, a1, a2,...

使用 5 行 Python 代码拆分或合并 PDF 文件

如果希望从大型 PDF 文件中提取特定页面或将多个 PDF 文件合并为一个文件,可以使用一些 PDF 编辑器来完成,但是你可能会发现拆分或合并功能在很多免费版 PDF 编辑工具中通常不可用。在本文中,...

Python中怎么给属性增加类型检查或合法性验证?

问题 你想给某个实例 attribute 增加除访问与修改之外的其他处理逻辑,比如类型检查或合法性验证。 解决方案 自定义某个属性的一种简单方法是将它定义为一个 property。例如,下面的代码定义...

python散装笔记——105: 从字符串或列表写入 CSV

ParameterDetailsopen ("/path/", "mode")指定 CSV 文件的路径open (path, "mode")指定打开文件的模式(读、写等)csv.writer(file...

Python静态方法@使用,类或函数调用之带括号、不带括号

20221209星期五:1,函数加了静态 @staticmethod ,类不进行实例化,就可以进行调用函数2,函数调用带括号,调用的是函数的执行结果;3,函数调用不带括号,调用的是函数本身,得到的是一...