JZジュニアOJ 1339 [2009南海ジュニア]病

タイトル説明

  最近、ファームD細菌(1 <= D <= 15)種がありました。可能な牛はより多くのミルクから選択なだけの彼のN(1 <= N <=千)からジョン。しかし、選択された牛は、K(1 <= K <= D)細菌の異なる種類の、失敗した乳の生産以上を運ぶ場合。ジョンは牛の最大数を選択することができます計算する助けてください。
 

エントリー

最初の行:三つの整数N、D、K

次のN行:最初の行は、牛によって運ばれる細菌の場合を示しています。牛によって運ばれる細菌ジのタイプの最初の整数を表し、それぞれの背後にあるディは、細菌のこれらの種類の整数の数字を表します。

輸出

唯一の数M、牛のオプションの最大数。
 

サンプル入力

 

サンプル出力

 
 

データ範囲の制限

 
 

プロンプト

サンプル

 















エントリー  

6 3 2         

0

1 1

1 2

1 3

2 2 1

2 2 1

選択してください。

1,2,3,5,6-

#1と#2の2個のだけの細菌

輸出

5

    
1つの#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  int型 N、ANS、D、K、INF = - 0x3f3f3f、フラグ[ 16 ]は、[ 16 ]。 
4  BOOL [ 1001 ] [ 16 ]。
5つの ボイド DFS(INT X)
 6  {
 7      ためのint型 I = [X-使用1 ] + 1 ; iが= D <; Iは++ 8      {
 9          あれば(フラグ[I] == 0 10          {
 11             フラグ[I] = 1 12              使用[X] = I。
13              であれば(X == k)の
 14              {
 15                  のためにINT J = 1 ; J <= N; J ++ 16                  {
 17                         のためのint型 i = 1 ; iが= D <; Iは++ 18                      {
 19                          であれば([J ] [I] ==  &&フラグ[I] == 0 20                            {
 21                          ans-- 22                         破ります;
23                          }
 24                      }
 25                  }
 26                  であれば(ANS> INF)
 27                  INF = ANS。
28の                  ANS = N。
29              }
 30の             
31              DFS(X + 1 )。    
32              フラグ[I] = 0 ;
図33は、              [X] =使用0 34          }
 35      }
 36  }
 37  のint main()の
 38 {
 39      CIN >> N >> D >> K。
40の      ANS = N。
41      のためにint型 i = 1 ; iが<= N; iが++ 42      {
 43          のscanf(" %dの"、&​​[ 0 ] [ 0 ])。
44          のためにINT J = 1 ; J <= A [ 0 ] [ 0 ]; J ++ 45          {
 46              のscanf(" %dの"、&​​[ 0 ] [ 1 ])。
47             [I] [ 0 ] [ 1 ] = 48          }
 49      }
 50の      DFS(1 )。
51      COUT << INF。
52      リターン 0 53 }

おすすめ

転載: www.cnblogs.com/anbujingying/p/11306734.html