藍橋杯 基礎練習 晶元測試

2021-06-26 00:49:28 字數 988 閱讀 2393

基礎練習 晶元測試

時間限制:1.0s   記憶體限制:512.0mb

問題描述

有n(2≤n≤20)塊晶元,有好有壞,已知好晶元比壞晶元多。

每個晶元都能用來測試其他晶元。用好晶元測試其他晶元時,能正確給出被測試晶元是好還是壞。而用壞晶元測試其他晶元時,會隨機給出好或是壞的測試結果(即此結果與被測試晶元實際的好壞無關)。

給出所有晶元的測試結果,問哪些晶元是好晶元。

輸入格式

輸入資料第一行為乙個整數n,表示晶元個數。

第二行到第n+1行為n*n的一張表,每行n個資料。表中的每個資料為0或1,在這n行中的第i行第j列(1≤i, j≤n)的資料表示用第i塊晶元測試第j塊晶元時得到的測試結果,1表示好,0表示壞,i=j時一律為1(並不表示該晶元對本身的測試結果。晶元不能對本身進行測試)。

輸出格式

按從小到大的順序輸出所有好晶元的編號

樣例輸入

31 0 1

0 1 0

1 0 1

樣例輸出

1 3解題思路:以列為單位,統計每個晶元被其它晶元(不包括自己本身)判斷為好的次數,若超過一半則認為此晶元為好晶元。

c:#include

int main()

intn,i,j;

scanf("%d",&n);

inta[20][20],count[20];

for(i=0;icount[i]=1;

for(j=0;jscanf("%d",&a[i][j]);

for(j=0;jfor(i=0;iif((i!=j)&&(a[i][j]==1))

count[j]++;

if((count[j]>(n/2))&&(j!=(n-1)))

printf("%d",(j+1));

elseif((count[j]>(n/2))&&(j==(n-1)))

printf("%d\n",n);

return0;

藍橋杯 基礎練習 晶元測試

問題描述 有n nn 2 n nn 20 塊晶元,有好有壞,已知好晶元比壞晶元多。每個晶元都能用來測試其他晶元。用好晶元測試其他晶元時,能正確給出被測試晶元是好還是壞。而用壞晶元測試其他晶元時,會隨機給出好或是壞的測試結果 即此結果與被測試晶元實際的好壞無關 給出所有晶元的測試結果,問哪些晶元是好晶...

藍橋杯 基礎練習 晶元測試

問題描述 有n 2 n 20 塊晶元,有好有壞,已知好晶元比壞晶元多。每個晶元都能用來測試其他晶元。用好晶元測試其他晶元時,能正確給出被測試晶元是好還是壞。而用壞晶元測試其他晶元時,會隨機給出好或是壞的測試結果 即此結果與被測試晶元實際的好壞無關 給出所有晶元的測試結果,問哪些晶元是好晶元。輸入格式...

藍橋杯 基礎練習 晶元測試

問題描述 有n 2 n 20 塊晶元,有好有壞,已知好晶元比壞晶元多。每個晶元都能用來測試其他晶元。用好晶元測試其他晶元時,能正確給出被測試晶元是好還是壞。而用壞晶元測試其他晶元時,會隨機給出好或是壞的測試結果 即此結果與被測試晶元實際的好壞無關 給出所有晶元的測試結果,問哪些晶元是好晶元。輸入格式...