藍橋杯 晶元測試

2021-08-17 05:48:51 字數 978 閱讀 7908

藍橋杯  晶元測試:

問題描述

有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(並不表示該晶元對本身的測試結果。晶元不能對本身進行測試)。

輸出格式

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

樣例輸入 3

1 0 1

0 1 0

1 0 1

樣例輸出

1 3解析:題目中已知好的晶元比壞的晶元多,而且用每個晶元都測試其他的晶元,所有對於乙個晶元來說,當測試結果為好的次數大於測試結果為壞的次數時,他就是好的晶元。具體實現**如下:

#includeusing namespace std;

int main()

{ int n,a[20][20];

cin>>n;

for(int i=1;i<=n;i++)

a[0][i]=0;

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

cin>>a[i][j];

for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++)

if(a[j][i]==1)

a[0][i]++;

int t=n/2;

for(int i=1;i<=n;i++)

if(a[0][i]>t)

cout<

藍橋杯 晶元測試

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

藍橋杯 晶元測試

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

14 晶元測試(藍橋杯)

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