解题思路:
将每个芯片看成一份,一共n份,以列为单位,按行检索,将所有显示好芯片的份数保存下来,因为题目中说了
好芯片一定比坏芯片多,我们假设一个极端情况:好芯片的判断结果都是对的,坏芯片的判断结果都是错的。即
判断出来好芯片的份数一定占所有判断结果的多数,结果才可信。
注意事项:
不要忘记回溯:每次循环结束后,令x=0
注意比较浮点数的大小时,有可能会出现是失精度的情况,导致判断错误,故最好乘以最小公倍数,将浮点数的比较全部化为整数的比较,养成好习惯。
参考代码:
#include<iostream> using namespace std ; int a[30][30] ; int main() { int n,x=0 ; cin>>n ; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j] ; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(a[j][i]==1) { x++ ; } } if(2*x>n) { cout<<i<<" " ; } x=0 ; } return 0 ; }
0.0分
4 人评分
【蟠桃记】 (C语言代码)浏览:648 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:653 |
兰顿蚂蚁 (C++代码)浏览:1044 |
三角形 (C++代码)递推浏览:755 |
【求[X,Y]内被除3余1并且被除5余3的整数的和】 (C语言代码)浏览:672 |
母牛的故事 (C语言代码)浏览:940 |
1126题解浏览:578 |
蚂蚁感冒 (C语言代码)浏览:768 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:486 |
永远的丰碑 (C语言代码)浏览:516 |