分割数 - 検索ベース

整数N k個の各部品、及び空にすることはできません、任意の二つの方式は(順番に関係なく)が異なります。

例えば:。N- = 7 、K = 3 、次の三つのサブ方法が同じであると考えられます。

1,1,5 ;
1,5,1 ;
5,1,1;

Q.どのように多くの異なるポイントシステム。

 

サンプル入力と出力

入力サンプル#1: コピー
7 3
出力サンプル#1: コピー
4
書式#include <iostreamの> 
の#include <アルゴリズム>
 使用して 名前空間はstdを、
INTのN、K、CNT。
ボイド DFS(INT U、INT和、int型のCUR){
     場合(CUR == K){
         場合(和== N)CNT ++ 返します
    } 
    のためのINT I = U;和+ iが(K-CUR)を* <= N; iが++ 
        DFS(I、和 + I、CUR + 1 )。
} 
INTメイン(ボイド){ 
    CIN >> N >> K。
    DFS(100 ); 
    coutの << CNT << てendl; 
}

 

おすすめ

転載: www.cnblogs.com/programyang/p/11232266.html