[Chip Testfragen grundlegende Übungen]

Problembeschreibung
  Es gibt n (2≤n≤20) Chips, gut und schlecht, sind dafür bekannt , besser als der schlechte Chip-Chip .
  Jeder Chip kann verwendet werden , um andere Chips zu testen. Hershey mit anderem Chip - Testchip kann der richtige Test - Chip ist gut oder schlecht gegeben werden . Aber mit schlechten Chip Testen andere Chips, zufällige gibt gute oder schlechte Testergebnisse ( das heißt, das Ergebnis ist unabhängig von dem tatsächlichen Testchip ist gut oder schlecht).
  Alle Testergebnisse sind gegeben Chip, Chip fragen , was ist ein guter Chip.
Eingabeformat
  Eine erste Leitung Dateneingabe- ganzen Zahl n, die Anzahl der Chips.
  Die zweite Zeile n + 1 n * n Verhalten einer Tabelle, wobei jede Zeile von n Daten. Jede Datentabelle 0 oder 1 ist , in dieser i-ten Zeile in der n-ten Reihe der j-ten Spalte (1≤i, j≤n) von Daten , die Testergebnisse , die durch den i-ten Block der j-Chip - Testchips 1 steht für gut, schlecht 0 zeigt an , wenn I 1 = j gleichmäßig ist (das Testergebnis nicht anzeigt , dass der Chip selbst. Chip selbst kann nicht getestet werden).
Ausgabeformat
  In aufsteigender Reihenfolge der Anzahl der Ausgänge aller guten Chips
Abtastwerteingang
3
1 0 1
0 1 0
1 0 1
Beispielausgabe
1 3
import java.io.BufferedWriter; 
import java.io.OutputStreamWriter; 
import java.io.PrintWriter; 
import java.util . *; 

public class Haupt { 
    static int v1, v2, t, s, L; 
    static String ch; 
    public static void main (String [] args) { 
        Scanner sc = new Scanner (System.in); 
        int n = sc.nextInt (); 
        int arr [] [] = new int [n] [n]; 
        List <Integer> list = new Arraylist <Integer> (); 
        List <Integer> list1 = new Arraylist <Integer> (); 
        for (int i = 0; i <n; i ++) 
            for (int j = 0; j <n; j ++) 
                arr [i] [j] = sc.nextInt (); 

        for (int i = 0; i <n; i ++) { 
            int x = 0, y = 0;
            for (int j = 0; j <n; j ++) { 
              if (arr [i] [j] == 1) { 
                  list.add (j); 
                  x ++; 
              } 
              Else y ++; 
            } 
            If (x <= y) list.clear (); ///没有达到条件的,先清空
            if (x> y) break; 
        } 
                For (int i = 0; i <n; i ++) { 

                    boolesches Flag = true; 
                    for (int j = 0; j <list.size (); j ++) 
                        if (arr [i] [list.get (j)] == 0) { 
                           Flag = false; 
                           brechen; 
                        } 
                        If (flag) list1.add (i + 1); 
                }


                for (int i = 0; i <list1.size (); i ++) System.out.print (list1.get (i) +“„); 
   } 
}

  

Ich denke du magst

Origin www.cnblogs.com/wszhu/p/12600121.html
Empfohlen
Rangfolge