本题一开始看的时候毫无头绪,,,后来仔细看了以后才想出来的此种方法,,突然有一种想猛学离散的冲动。为啥那,本题用到了离散的抽屉原理。下面对抽屉原理进行简单的介绍:
抽屉原理:如果把n+1个物体放入n个抽屉里,则必有一个抽屉里至少放了两个物体。
剩下的概念在这上面打不出来,大家有兴趣的可以看一下离散的课本。
假如有一半以上的芯片同意了本芯片为好芯片的话,则本芯片为一个好的芯片。下面是本渣渣的AC代码。
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int a[30][30];
int main()
{
int n;
while(cin>>n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
cin>>a[i][j];
}
int j;
for(int i=1;i<=n;i++)
{
int s=0;
for(j=1;j<=n;j++)
{
s+=a[j][i];//代表有一半以上的芯片同意了此芯片是好的芯片,所以此芯片一定是一个好的芯片
}
if(s>n/2)
{
cout<<i<<' ';
}
}
cout<<endl;
}
return 0;
}