Límite de recursos
Límite de tiempo: 1.0s Límite de memoria: 512.0MB
Descripción del problema
Hay n (2≤n≤20) chips, buenos o malos, se sabe que hay más chips buenos que malos. Cada chip se puede usar para probar otros chips. Al probar otros chips con un buen chip, puede indicar correctamente si el chip probado es bueno o malo. Cuando se usa un chip malo para probar otros chips, dará resultados aleatorios buenos o malos (es decir, este resultado no tiene nada que ver con la calidad real del chip probado). Dé los resultados de la prueba de todas las fichas y pregunte qué fichas son buenas.
La primera línea de datos de entrada es un número entero n, que indica el número de chips. La segunda fila a la n + 1a fila son n * n tablas con n datos en cada fila. Cada dato en la tabla es 0 o 1, y los datos en la i-ésima fila y la j-ésima columna (1≤i, j≤n) en las n-filas representan los resultados de la prueba obtenidos al probar el j-ésimo chip con el i-ésimo chip , 1 significa bueno, 0 significa malo, cuando i = j, siempre será 1 (no significa el resultado de la prueba del chip en sí mismo. El chip no puede probarse a sí mismo).
Formato de salida
Salida de los números de todos los chips buenos en orden de pequeño a grande
Entrada de muestra
3 1 0 1 0 1 0 1 0 1
Salida de muestra
1 3
Código
1 import java.util.Scanner; 2 import java.util. * ; 3 4 5 público clase principal { 6 estática int n, a [] [], contar []; 7 8 public static void main (String [] args) { 9 Scanner sc = new Scanner (System.in); 10 n = sc.nextInt (); 11 a = nuevo int [22] [22 ]; 12 cuenta = nueva int [25 ]; 13 para ( int i = 1; i <= n; i ++ ) { 14 para ( int j = 1; j <= n; j ++ ) { 15 a [i] [j] = sc.nextInt (); 16 } 17 } 18 19 para ( int i = 1; i <= n; i ++ ) { 20 para ( int j = 1; j <= n; j ++ ) { 21 if (i! = J && a [i] [j] == 1 ) 22 recuento [j] ++ ; 23 } 24 } 25 para ( int j = 1; j <= n; j ++ ) 26 if (cuenta [j]> = n / 2 ) 27 System.out.print (j + "" ); 28 } 29 30 }