zoukankan      html  css  js  c++  java
  • [试题 基础练习 芯片测试]

    问题描述
      有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
    import java.io.BufferedWriter;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.util.*;
    
    public class Main {
        static  int v1,v2,t,s,L;
        static String ch;
        public  static  void main(String [] args){
            Scanner sc =new Scanner(System.in);
            int n = sc.nextInt();
            int arr[][] = new int[n][n];
            List <Integer> list = new ArrayList<Integer>();
            List <Integer> list1 = new ArrayList<Integer>();
            for(int i=0;i<n;i++)
                for (int j=0;j<n;j++)
                    arr[i][j] = sc.nextInt();
    
            for(int i=0;i<n;i++){
                int x=0,y=0;
                for (int j=0;j<n;j++){
                  if(arr[i][j]==1) {
                      list.add(j);
                      x++;
                  }
                  else y++;
                }
                if(x<=y) list.clear();///没有达到条件的,先清空
                if(x>y) break;
            }
                    for(int i=0;i<n;i++){
    
                        boolean flag=true;
                        for(int j=0;j<list.size();j++)
                            if(arr[i][list.get(j)]==0){
                               flag=false;
                               break;
                            }
                            if(flag) list1.add(i+1);
                    }
    
    
                    for(int i=0;i<list1.size();i++) System.out.print(list1.get(i)+" ");
       }
    }
    

      

    不忘初心,方得始终。只有走过弯路,才更确信当初最想要的是什么。
  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/wszhu/p/12600121.html
Copyright © 2011-2022 走看看