文档章节

[蓝桥杯][基础练习VIP]芯片测试

o
 osc_z1hvg4cu
发布于 2018/04/24 19:32
字数 588
阅读 8
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

时间限制: 1Sec 内存限制: 128MB 提交: 65 解决: 35

题目描述
有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
#include<iostream>
#include<cstdio>
using namespace std;
const int INF = 0xFFFFFFF;
const int maxn = 21;
int a[maxn][maxn],Find=0,num[maxn],num0,num1,n;
int main(void)
{
    cin>>n;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
    {
        cin>>a[i][j];
        if(i==j) a[i][j]=INF;
    }
    int k=1;
    while(!Find)
    {
        num0=num1=0;
        for(int i=1;i<=n;i++)
        {
            if(a[i][k]!=INF) 
            {
                if(a[i][k]==0) num0++;
                else num1++;
            }
        }
        if(num1>num0)
        {
            //printf("k=%d\n",k);
            Find=1;
            for(int j=1;j<=n;j++)
            if(a[k][j]==1 || k==j) cout<<j<<" ";
        }
        else if(num1<num0)
        {
            for(int j=1;j<=n;j++)
            a[k][j]=INF;
        }
        k++;
        if(k==n+1) k=1;
    }
    return 0;
}
/*
  首先将测试结果表中的数据的可以判定为无效的数据进行甚至为INF
  对于一个芯片的测试结果,如果有效的数据中1的个数num1大于0的个数num0,那么说明这芯片是正常的芯片,那么这个芯片的所有测试结果就是正确的。
  如果num0<num1,则这个芯片是坏的,将这个芯片的测试数据都舍弃掉,设置为INF
*/

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
TDD的测试框架--Machine.Specification

Machine.Specification 是一个 TDD 测试驱动开发的测试框架,简化了测试,无需关心语言本身特性。 Machine.Specifications 带来的好处是不需要在代码里有注释,但同时阅读代码的人可以一目了...

匿名
2013/01/22
1.1K
0
Rails 测试工具--RailsBench

Railsbench是一款专门用于rails的测试工具。 1. 安装Railsbench # gem install railsbench # gem install gruff # gem install rmagick...

匿名
2013/02/17
348
0
WebUI自动化测试框架--Dagger

Dagger是网易杭州研究院QA团队开发的一个轻量级、运行稳定的WebUI自动化测试框架,主要基于Selenium及TestNg可以认为是对Selenium进行二次封装的一个框架(俗称 造轮子 )。之所以把这个轮子...

ChenKan
2013/03/05
2.8W
6
性能测试工具--simperf

Simperf 是一个简单的性能测试工具,它提供了一个多线程测试框架 Example: 1. 在代码里使用Simperf Simperf perf = new Simperf(50, 2000, 1000, // 设置结果输出文件,默认 simperf-result...

imbugs
2013/01/04
1.2K
0
C++ 单元测试框架--cipra

cipra 是一个简单的、兼容 TAP (Test Anything Protocol) 的 C++ 单元测试框架。100% 使用标准的 C++11 编写,只提供一组头文件,可很方便的在你的 C++11 项目中使用。...

匿名
2013/04/17
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Pandas的DataFrame中的行上进行迭代? - How to iterate over rows in a DataFrame in Pandas?

问题: I have a DataFrame from pandas: 我有一个来自熊猫的DataFrame : import pandas as pdinp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]df = pd.DataFrame(......

富含淀粉
48分钟前
20
0
与电商节伴生,平台销量榜单背后还有被低估的营销价值

文 | 曾响铃 来源 | 科技向令说(xiangling0815) 时至今日,电商节已经成为各巨头零售平台例行的活动,花样在不断创新,玩法也在不断涌现。 在这个过程中,伴随电商节的各种品牌、产品销量榜...

曾响铃
50分钟前
22
0
volatile关键字详解

前言 提到JAVA的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中,volatile关键字的使用都是一个应该掌握的技能。它之所以重要,是因为它和JAVA并发编程中会遇到三种重要问...

ls_cherish
今天
15
0
比继承更偏爱组成? - Prefer composition over inheritance?

问题: Why prefer composition over inheritance? 为什么更喜欢使用组合而不是继承? What trade-offs are there for each approach? 每种方法都有哪些取舍? When should you choose inher...

javail
今天
26
0
2020软件测试工程师史上最全面试题(内含答案)-看完BATJ面试官对你竖起大拇指!

以下是软件测试相关的面试题及答案,欢迎大家参考! 我不是至尊宝,也不是孙悟空,我只是那城墙下的一猿。  1、你的测试职业发展是什么?  测试经验越多,测试能力越高。所以我的职业发展是需...

程序员一凡
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部