首页 > 其他分享 >芯片测试

芯片测试

时间:2024-03-05 19:36:52浏览次数:20  
标签:arr 芯片 int range 测试 input

问题描述
  有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。
  每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。
  给出所有芯片的测试结果,问哪些芯片是好芯片。

输入格式
  输入数据第一行为一个整数n,表示芯片个数。
  第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。

输出格式
  按从小到大的顺序输出所有好芯片的编号

样例输入
3
1 0 1
0 1 0
1 0 1
样例输出
1 3

方法一: 按列来查找,生成每列都为1的数组,如果列的坏芯片是芯片总数的一半多,那这一列都是坏的。否则,输出该列

n = int(input())
arr = []
temp = [True] * n  # 创造这一列为True个数的数组
for i in range(n):
    arr.append(list(map(int, input().split()))) # 加载芯片
for j in range(n):  # 列
    cnt = 0
    for i in range(n):  # 行
        if arr[i][j] == 0:
            cnt += 1
        if cnt >= n / 2:  # 如果坏芯片大于总芯片的一半
            temp[j] = False # 这一列判为False
            break
for item in range(n):
    if temp[item]: # 输出好芯片的一列
        print(item + 1, end=' ')

方法二:不按每列来查找,我们直接将所有列读入数组,然后再根据数组好坏芯片的个数来判断是否能输出该列。

n = int(input())
arr = []
for i in range(n):
    arr.append(list(map(int, input().split())))

for j in range(n):
    good = 0
    bad = 0
    for i in range(n):
        if arr[i][j] == 0:
            bad += 1
        elif arr[i][j] == 1:
            good += 1
    if good > bad: # 如果好芯片比较多,这一列没有问题
        print(j + 1, end=' ')

标签:arr,芯片,int,range,测试,input
From: https://www.cnblogs.com/codingsaveWorld/p/18054717

相关文章

  • 对比四款专业的测试工具,帮助你选出最适合自己的测试工具
    随着可用的测试工具越来越多,测试系统本身越来越复杂,管理测试活动的各个方面已经成为一个越来越大的挑战。就测试用例的管理来说,不仅需要管理手工测试用例,还需要管理自动化测试脚本,实现自动化测试结果在测试用例管理工具中的自动更新,这需要测试用例管理工具和自动化测试工具的集成......
  • JMeter VS RunnerGo :两大主流性能测试工具对比
    说起JMeter,估计很多测试人员都耳熟能详。它小巧、开源,还能支持多种协议的接口和性能测试,所以在测试圈儿里很受欢迎,也是测试人员常用的工具,不少企业也基于JMeter建立起自己的自动化测试能力,提升工作效率。RunnerGo呢,是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性......
  • 基于SWIFT和Qwen1.5-14B-Chat进行大模型全参微调测试
    基于SWIFT和Qwen1.5-14B-Chat进行大模型全参微调测试环境准备基础环境操作系统:Ubuntu18.04.5LTS(GNU/Linux3.10.0-1127.el7.x86_64x86_64)Anaconda3:Anaconda3-2023.03-1-Linux-x86_64根据服务器网络情况配置好conda源和pip源,此处使用的是超算山河源服务器硬件配置:CPU......
  • 1-8高灵敏度电容式水位检测芯片VK36W系列 电容式触摸IC原厂【FAE技术支持】
     产品型号:VK36W1D产品品牌:VINKA/永嘉微电封装形式:SOT23-6产品年份:新年份深圳市永嘉微电科技有限公司,原厂直销,原装现货更有优势!工程服务,技术支持,让您的生产高枕无忧!量大价优,保证原装正品。您有量,我有价!概述VK36W1D具有1个触摸检测通道,可用来检测水从无到有和水从有到无的......
  • AP9180 内置 MOS 管升压型恒流驱动芯片
    概述    AP9180是一款高效率、高精度的升压型大功率LED灯恒流驱动芯片。AP9180内置高精度误差放大器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率、多个高亮度LED灯串的恒流驱动。AP9180采用固定关断时间的控制方式,其工作频率最高可达350KHz,可使外部电感和......
  • 接口自动化测试要做什么?8个步骤讲的明明白白(小白也能看懂系列)
    先了解下接口测试流程:1、需求分析2、Api文档分析与评审3、测试计划编写4、用例设计与评审5、环境搭建(工具)6、执行用例7、缺陷管理8、测试报告那"接口自动化测试"怎么弄?只需要在上篇文章的基础上再梳理下就可以。为更好理解"接口自动化"具体操作流程,最好我们提前了解下,为什么要做......
  • QC3.0快充识别芯片FP6601Q:电子工程师的首选,兼容QC2.0与平芯微技术
    概述FP6601Q是一款智能充电管理芯片,具有出色的协议识别功能,可以自动识别接入的充电设备并调整输出电压,以满足不同设备的充电需求。它支持BC1.2、Apple、SamsungAFC、华为FCP/SCP、ClassA、QC3.0和QC2.0等多种充电协议,适用于苹果、三星、华为等多种品牌设备的快速充电。同时,它还......
  • 脂肪秤方案以CSU18M91芯片开发
    一台脂肪秤通过测试体重、体脂、BMI、水分等数据并给出相应提示,并且许多人都将体脂检测数据作为身体健康指数衡量标准,辅助用户来关注身体健康,同时可以通过蓝牙与手机APP应用相连,记录日常身体变化情况,根据变化情况推荐用户饮食计划+运动计划。人体脂肪秤的原理是肌肉内含......
  • 你在自动化测试中遇到的挑战是什么?如何解决的?
    在自动化测试中,我遇到的一些挑战包括:应用覆盖率不足:自动化测试覆盖不到所有的功能和场景,特别是对于复杂的系统和多样的用户交互。解决方法:持续评估和优化自动化测试的覆盖范围,优先覆盖核心功能和关键路径,结合手动测试进行补充。测试环境配置复杂:搭建和维护测......
  • 常见的自动化测试工具有哪些?它们的优缺点是什么?
    常见的自动化测试工具有很多种,其中一些主要的工具包括:SeleniumWebDriver:优点:支持多种浏览器和操作系统,可用于Web应用的自动化测试,灵活性高,可扩展性好。缺点:不支持测试移动应用,需要编写详细的测试脚本。Appium:优点:支持多种移动应用平台(如iOS、Android等),可用于移动应用......