[Java] 藍橋杯BASIC-23 基礎練習 晶片測試
阿新 • • 發佈:2019-01-29
問題描述
有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
package base23; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[][] test = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { test[i][j] = in.nextInt(); } } for (int i = 0; i < n; i++) { int count = 0; for (int j = 0; j < n; j++) { if (i != j) count += test[j][i]; } if (count >= n / 2) System.out.print(i + 1 + " "); } } }