기술
N있다 (2 ≤ N ≤ 20)가 좋은 다이 칩보다 더 칩 좋고 나쁜.
각각의 칩이 다른 칩을 테스트 할 수있다. 허쉬는 다른 칩 테스트 칩과 오른쪽 테스트 칩이 좋은지 나쁜지 부여 할 수 있습니다.
하지만, 불량 칩이 다른 칩과주고 임의의 좋고 나쁨 시험 결과를 시험하여 (즉, 결과는 실제 테스트 칩 무관 좋고 나쁨).
모든 테스트 결과가 칩을 제공하는 칩은 좋은 칩이 무엇인지 묻는다.
입력
제 라인 데이터 입력 정수 N, 칩의 수.
두 번째 행에 N + 1, N * N 테이블, n은 데이터의 각 행의 동작.
각 데이터 테이블 i 번째 행 j 번째 열 (1 ≤ i가, N J ≤) 시험 결과를 나타내는 데이터는 J 칩 테스트 칩의 i 번째의 블록에 의해 얻어진이 0 또는 1이고, n은 로우이고 1 I = J2 균일 때 0 불량 나타내는 좋은을 나타낸다 (시험 결과는 칩 자체. 칩 자체 테스트 될 수 없다는 것을 나타내지는 않는다).
산출
모든 양호한 칩의 수를 출력 승순.
샘플 입력
3
1 0 1
0 1 0
1 0 1
샘플 출력
1 3
1 #INCLUDE <STDIO.H>
2 INT 의 main () {
3 INT의 N, NUM = 0 , A [ 21 ] [ 21 ];
도 4 는 scanf ( " %의 D ' , N);
5 대 ( INT 나 = 1 ; i가 <= N; I ++ ) {
6 대 ( INT J = 1 ; J <= N; J ++ ) {
7 는 scanf ( " %의 D " , & A [I] [J]);
8 }
9 }
10 대 (INT 난 = 1 ; 나는 <= N; I ++ ) {
11 NUM = 0 ;
12 대 ( INT J = 1 ; J <= N; J ++ ) {
도 13 의 경우 (a [J] [I] == 1 )
14 NUM ++ ;
15 }
16 의 경우 (NUM * 2 > N)
(17) 의 printf ( " %의 D " , I);
18 }
19 반환 0 ;
20 }
이 질문은 정말 그들이 같은 간단한 알고리즘을 할 수 할 생각해야
부품의 좋은 숫자가 나쁜 부품의 수보다 큰 : 제목에서 중요한 조건이다
이 경우, 단순히 한 부분을
숫자 n이 1보다 큰 경우, 그 부분은 좋은, 그의 평가의 모든 부분 봐
밤을 위해
假如一共有60个零件,那么好的零件最少有31个
坏的零件最多有29个
随便拿一个零件,
假如这个零件是好的,
那么在最坏的情况下
他得到的1的数量也是31
乘2后就大于60了
所以他是好的
如果它是坏的
那么在最好的情况下
它能得到29个1
乘2后还是不大于60
所以他是坏的
O(∩_∩)O