基础训练 芯片测试

芯片测试

/*************根据题意可知,如果是坏芯片则对应的列中除了对角线位置处所有的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;   
} 

猜你喜欢

转载自www.cnblogs.com/A-Little-Nut/p/10349280.html