1. 2 개 분할 수가
https://ac.nowcoder.com/acm/problem/16695
. (1) #INCLUDE <비트 / STDC ++ H.> 2 은 USING 스페이스 STD] . 3 #DEFINE LL 긴 롱 4. #DEFINE EPS-1E 6. 5. INT ANS = 0 ; . 6 INT의 N-, K] . 7 공극 DFS ( INT의 ID, INT의 SUM, INT 브로) 8. { 9. / * IF (K-ID 1 && == + SUM 브로 <= N-) {// 마지막 숫자 n 합 존재> 수가 증가 = 브로 세트. 10 ANS ++] . 11 반환하는 단계; 12이다 } (13)가 대해 INT (I = 브로; I <= N-; I는 ++) { 14 의 경우 (합계 + I> N) 15 체류; 16 DFS (ID + 1 합 I, I +에게); 17 } * / 18 의 경우 (ID K == && 합 == N) 19 { 20 ANS ++ ; 21 창 ; 22 } 23 24 경우 (ID> = K || 합> N) 25 리턴 ; 26 27 대 ( INT는 브로 = 1; i가 <= N; 내가 ++ ) { 28 일 경우 (합계 + I> N) 29 체류 ; (30) DFS (ID + 1 , 합계 + I, I에게); 31 } 32 } 33 34 INT 주 () 35 { 36 동안 (는 scanf ( " %의 D % d에 " !, N, K) = EOF) { 37 의 ANS = 0 ; 38 DFS ( 0 , 0 , 1 ); 39 의 printf ( " % D \ 없음 " , ANS); 40 } 41 반환 0 ; 42 }
2. 단어 3 별 카드 놀이
. (1) #INCLUDE <비트 / STDC ++ H.> 2 은 USING 공간 STD] . 3 . 4 구조체 노드 { . 5 숯 S [ 22이다 ] . 6 INT LEN] . 7 INT의 V; // 선택한 횟수 . 8 } C [ 22이다 ] . 9 INT N, MAXN; 10 .도 11 무효 DFS ( INT의 X, INT LEN) { // 현재 단어 길이 긴 전류 번호 12는 위해 ( INT I = 1. ; I <= N, I는 ++) { //은 N 워드의 그룹으로부터 선택 될 수있다 13 인 경우 (C는 [I] .V < 2 ) // 선택된 2보다 작은 횟수 14 { 15 대 ( INT J = 0 {; J <C는 [X]를 .LEN J ++) // 단어가 전에 결정되고 현재 단어 선택과 동일 영역 16 IF (C [X] .S [J]를 == C는 [I]가 [.S 0 ]) { 17. INT K = 1. , T의 = 1. , L; 18 인 에 대한 (L J = + 1이다. ] L <C [X] && .LEN K <C [I] .LEN; K ++, ++ L) { . 19 IF ! (C [X] .S [L] = C [I] .S [ K]) (20)가 { 21는 T = 0; BREAK ; 22이다 } 23이다 } 24 IF (! L = C [X] .LEN) // DESCRIPTION 워드 X 제가 포함하는 단어이다 (25) T = 0 ; 26 인 경우 (T) // 설명 워드 X 나 단어로하지 접속되어 함유 27 { 28 C는 [I]를 .V ++ ; 29 DFS (I, C + LEN [I] .len- ; K) (30) C는 [I] .v-- ; 31이다 } 32 } 33이다 } 34 인 } 35 } 36 MAXN = 최대 (MAXN 렌) 37 [ } 38 인 39 INT {() 본체 (40)는 N CIN - >>; // 단어의 수가 41이기 위해 ( INT는 = I . (1) , I는 <= N-; I는 ++ ) { 42는 CIN C >> [I] .S; // 1 워드 콘텐츠 (43)는 C [I]의 strlen .LEN = (C [I] .S) // 제 워드 길이는 44이다 } 45 CIN >> C [ 0 ] .S; // 관용구 이니셜 46되는 C는 [ 0 ] = .LEN의 strlen (C는 [ 0 ] .S); 47 48 DFS ( 0 , C [ 0 ] .LEN); 49 COUT << maxn << ENDL; 50 }
의 DFS 사용 : 상기 프로그램의 최대 값을 검색 여러 x로 이루어진 프로그램을, DFS에서 X에 대한 프로그램의 n 개의 종류가있다 X 공극 DFS ( INT X) { 대 ( INT I = 0 ; I는 N <; I는 ++ )이 .. . }