#UVa:11204-Musical instruments

灆洢 2012-09-16 01:13:33

由於要求的是學生選中理想中第一名的組合數有多少,所以就只看選每個樂器為理想中第一名的學生數有多少,從中就有相同數的選擇可以選。至於其他沒選中的學生要選第二名、第三名……等等,就不再討論範圍內了。

C++(0.008)

/*******************************************************/
/* UVa 11204 Musical instruments                       */
/* Author: Maplewing [at] knightzone.studio            */
/* Version: 2012/09/16                                 */
/*******************************************************/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int main(){
  int testcase, N, M;
  int instfirst[35], student, answer;

  while( scanf( "%d", &testcase ) != EOF ){
    for( int i = 0 ; i < testcase ; i++ ){
      scanf( "%d%d", &N, &M );
      memset( instfirst, 0, sizeof(instfirst) );

      for( int j = 0 ; j < M ; j++ )
        for( int k = 0 ; k < N ; k++ ){
          scanf( "%d", &student );
          if( student == 1 ) instfirst[k]++;
        }
      answer = 1;

      for( int j = 0 ; j < N ; j++ )
        if( instfirst[j] > 1 ) answer *= instfirst[j];
      printf( "%d\n", answer );
    }
  }
  return 0;
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料