基础训练 芯片测试

芯片测试

/*************根据题意可知,如果是坏芯片则对应的列中除了对角线位置处所有的0的个数一定大于1的个数,又非好即坏************/
#include<iostream>
#include<vector>
using namespace std;
int main(){
	int n, flag=0;
	cin>>n;
	vector<vector<int> > vi(n+1, vector<int>(n+1, 0));
	for(int i=1; i<=n; i++)
		for(int j=1; j<=n; j++)
			cin>>vi[i][j];
	for(int i=1; i<=n; i++){
		int a=0, b=0;
		for(int j=1; j<=n; j++){
			if(j!=i&&vi[j][i]==1) a++;
			if(j!=i&&vi[j][i]==0) b++;
		}
		if(a>=b) flag++==0?(cout<<i):(cout<<" "<<i);
	}
	cout<<endl;
	return 0;	
} 
原文地址:https://www.cnblogs.com/A-Little-Nut/p/10349280.html