制限時間:
1000のMSのスペースの制約: 131072キロバイト特定の制限
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 }