リソース制限
時間制限:1.0秒メモリ制限:512.0MB
問題の説明
n個(2≤n≤20)のチップがあり、良いチップも悪いチップもあり、良いチップは悪いチップよりも多いことが知られています。 各チップは、他のチップのテストに使用できます。良いチップで他のチップをテストするとき、テストされたチップが良いか悪いかを正しく与えることができます。不良チップを使用して他のチップをテストすると、ランダムに良好または不良のテスト結果が得られます(つまり、この結果は、テストされるチップの実際の品質とは関係ありません)。 すべてのチップのテスト結果を提供し、どのチップが良いチップかを尋ねます。
入力データの最初の行は、チップの数を示す整数nです。 2行目からn + 1行目は、各行にn個のデータがあるn * nテーブルです。表の各データは0または1です。n行のi行j列(1≤i、j≤n)のデータは、j番目のチップをi番目のチップでテストしたときに得られたテスト結果を表します、1は良好、0は不良、i = jの場合は常に1になります(チップ自体のテスト結果を意味するわけではありません。チップ自体はテストできません)。
出力フォーマット
小さいチップから大きいチップの順に、すべての良好なチップの数を出力します
入力例
3 1 0 1 0 1 0 1 0 1
出力例
1 3
コード
1 インポートjava.util.Scanner; 2 java.util。*をインポートします。 3 4 5 パブリッククラスメイン{ 6 静的INT nは、[] []、カウント[]。 7 8 public static void main(String [] args){ 9 Scanner sc = new Scanner(System.in); 10 n = sc.nextInt(); 11 a = new int [22] [22 ]; 12 カウント= 新しい整数 [25 ]; 13 for(int i = 1; i <= n; i ++ ){ 14 for(int j = 1; j <= n; j ++ ){ 15 a [i] [j] = sc.nextInt(); 16 } 17 } 18 19 for(int i = 1; i <= n; i ++ ){ 20 for(int j = 1; j <= n; j ++ ){ 21 if(i!= j && a [i] [j] == 1 ) 22 count [j] ++ ; 23 } 24 } 25 for(int j = 1; j <= n; j ++ ) 26 if(count [j]> = n / 2 ) 27 System.out.print(j + "" ); 28 } 29 30 }