POJ3187 뒤로 자리 덧셈

그것의 첫 번째 라인의 직접 열거 있도록, 단지 파스칼의 삼각형의 숫자로 최종 각 번호가 나타납니다의 첫 번째 줄을 얻으려면 (그리고 추가 할)

AC 코드 :

1 #INCLUDE <iostream>
 2 #INCLUDE <cstdio>
 3 #INCLUDE <알고리즘>
 4  
5  이용  스페이스 성병;
6  
7  INT의 레프 [ 12 ] [ 12 ];
8  INT의 상자 [ 12 ];
9  INT의 N, S;
10  
11  
12  공극 () {해결
 13      INT의 합;
14      레프 [ 1 ] [ 1 ] = 1 ;
15       ( INT는 난 = 2 I <=;10 ; I ++ ) {
 16           ( INT J = 1 ; J <= I, J ++ ) {
 17 일              경우 (j == 1 || J == ⅰ) 레 [I]는 [j]가 = 1 ;
18              다른 {
 19                  레프 [I] [J] = 레프 [Ⅰ- 1 ] [J - 1 ] + 레프 [Ⅰ- 1 ] [J];
20              }
 21          }
 22      }
 23      는 scanf ( " % D % D " , N, S);
24       ( INT 난 = 1 ; 나는 <= N; 나는 ++) {
 25          상자 [I]은 난;
26      }
 27      어떻게 {
 28          합 = 0 ;
29           ( INT 나 = 1 ; i가 <= N; I ++ ) {
 30              합 상자 + = [I] * 레프 [n]은 [I];
31          }
 32          경우 (합 == S) 휴식 ;
33      } 동안 (next_permutation (박스 + 1 상자 + N + 1 ));
34       ( INT 난 = 1 ; 나는 <= N; I ++ ) {
 35         의 printf ( " % D % C " , 상자 [I] I == N? ' \ n ' : '  ' );
36      }
 37  }
 38  
39  INT {) (주
 40      (해결);
41      반환  0 ;
42 }

 

추천

출처www.cnblogs.com/xiaoxb17/p/11925333.html