ブルーブリッジカップ-チップテスト(C言語)


ブルーブリッジカップ-チップテストの最初の目はとてもぼんやりしていて、これはどんな法則がありますか?完全にその悪いランダムな検出結果に混乱しました.推測は反対角線の上の数日間を見てからよく問題を読んで、良いのは悪いのより多いことを発見します!!!私は問題をよく読まない(自分で口を扇ぐ)

思想


だから検出された状況を見るだけでいい(列に0が多いか1が多いかを見る)1が半数以上あればいいのに、0は悪い
問題の記述はnn nn(2≦nn≦20)ブロックチップがあり、良いチップと悪いチップがあり、良いチップが悪いチップより多いことが知られている.各チップは他のチップをテストするために使用できます.他のチップをチップでテストすると、テストされたチップが良いか悪いかを正確に与えることができます.一方、悪いチップで他のチップをテストすると、良いか悪いかのテスト結果がランダムに与えられます(すなわち、この結果は被テストチップの実際の良し悪しとは関係ありません).すべてのチップのテスト結果を示し、どのチップが良いチップなのかを尋ねます.入力フォーマット入力データの第1の動作は、チップの個数を表す整数nn nnである.2行目からn+1 n+1 n+1 n+1行目までのn表中の各データは0または1であり、このnn行中の第ii ii行第jj jj列(1≦ii,jj≦nn)のデータは、第iiブロックチップで第jj jjブロックチップをテストしたときに得られたテスト結果を示し、1は良い、0は悪い、i=ji=j i=ji=ji=jの場合は一律1(このチップ対自身のテスト結果は表に示さない.チップは自身をテストできない).出力フォーマットは、すべての良いチップの番号付けサンプルを小さい順に出力3 1 0 1 0 1 0 1 0 1 0 1サンプル出力1 3
#include
#define MAX 100
int main()
{
int n,i,j;
int count1,count2;
int a[MAX][MAX];
scanf("%d",&n);
for(i=0;i<n;i++)
 for(j=0;j<n;j++)
  scanf("%d",&a[i][j]);
for (j = 0; j<n; j++)
 { 
  for (i = 0; i<n; i++)
  {
   count1=0;
   count2=0;
   if(a[i][j]==1)
    count1++;
   else
    count2++;  
  }
  if (count1>count2) 
  { 
   printf("%d ",j+1);
  }
 } 
return 0;
}

せっかく正解したのに、出力するときにスペースを入れるのを忘れて、また一度もできなかったので、泣きました