首页 > 编程知识 正文

cs8412解码芯片音质,es9016解码芯片怎么样

时间:2023-05-03 17:21:35 阅读:120684 作者:547

资源限制时间限制: 1.0s内存限制: 512.0MB

已知问题的描述有n(2n20 )个芯片,有好芯片和坏芯片,好芯片比坏芯片多。

每个芯片都可以用于测试其他芯片。 用好的芯片测试其他芯片时,可以正确给出被测试芯片是好是坏。 另一方面,用坏芯片测试其他芯片时,会随机给出好与坏的测试结果。 也就是说,这个结果与被测试芯片的实际好坏无关。

给出所有芯片的测试结果,问哪个芯片好。

格式输入数据的第一行是整数n,表示芯片的数量。

从第2行至第n 1行为n*n的表,每行有n个数据。 表中的各数据为0或1,该n行中的第I行j列(1I,jn )的数据表示在第I个芯片上测试第j个芯片时得到的测试结果,1为好,0为差,i=j时一般为1 (表1 ) 不能测试芯片本身)。

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

样本输入3

1 0 1

0 1 0

1 0 1

样本输出1 3

Code Java源代码:我的想法是,分别计数二维数组的下标,如果大于输入的n就表示芯片好,否则就表示不好。

import java.util.Scanner; /*思想:主题中好芯片是额外差的芯片,所以好芯片的两倍大于芯片总数n; * b序列表示与下标一致的芯片编号测试为1 (好)个; */public class main { publicstaticvoidmain (字符串[ ] args ) scannerscanner=newscanner ) system.in ); int n; n=scanner.nextInt (; int[][] a=new int[n 1][n 1]; int[] b=new int[n 1]; //b数组下的标签表示芯片编号,与下标签对应的数组值测试该芯片编号即可(1)、不好(0) ) for ) intI=1; i=n; I ) for(intj=1; j=n; j({a[I][j]=Scanner.nextint ); if(a ) I ) j )==1) ) b ) j;//给出了在第I个芯片上测试第j个芯片时得到的测试结果,1为好,0为差,}}for(intj=1; j=n; j ) if(2*b[j]nj==1) (/j ) 1表示第一个好芯片,与下一个好芯片之间用空格隔开。 已知好芯片多于坏芯片,因此测试结果为1 )好)芯片的数值的两倍应该大于芯片总数nsystem.out.print(j ) }elseif(2*b[j]nj!=1) system.out.print(''j ); }}}}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。