zoukankan      html  css  js  c++  java
  • [蓝桥杯][基础练习VIP]芯片测试

    时间限制: 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
    ",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
    */
  • 相关阅读:
    1.27
    1.25
    Representation Learning with Contrastive Predictive Coding
    Learning a Similarity Metric Discriminatively, with Application to Face Verification
    噪声对比估计(负样本采样)
    Certified Adversarial Robustness via Randomized Smoothing
    Certified Robustness to Adversarial Examples with Differential Privacy
    Dynamic Routing Between Capsules
    Defending Adversarial Attacks by Correcting logits
    Visualizing Data using t-SNE
  • 原文地址:https://www.cnblogs.com/zuimeiyujianni/p/8933133.html
Copyright © 2011-2022 走看看