將整數nn分成kk份,且每份不能為空,任意兩個方案不相同(不考慮順序)。
例如:n=7n=7,k=3k=3,下面三種分法被認為是相同的。
1,1,51,1,5;
1,5,11,5,1;
5,1,15,1,1.
問有多少種不同的分法。
輸入格式:
n,k (6輸出格式:
1個整數,即不同的分法。
輸入樣例#1
7 3輸出樣例#1
4四種分法為:
1,1,51,1,5;
1,2,41,2,4;
1,3,31,3,3;
2,2,32,2,3.
其實dfs的部分可能比較好想,但是一直60分。tle。
#include #include using namespace std;
int n,k,cnt;
void dfs(int last,int s,int i)//last是上次劃分時分數,s是總分數,i是當前第幾個數
return;
} register int j;
for(j=last;s+j<=n;j++)//只需列舉到s+j,否則會有重複解 }
signed main()
洛谷 P1025 數的劃分
題目描述 將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入輸出格式 輸入格式 n,k 6 n 200,2 k 6 輸出格式 乙個整數,即不同的分法。輸入輸出樣例 輸入樣例...
洛谷P1025 數的劃分
將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 n,k 6 輸出格式 乙個整數,即不同的分法。輸入樣例 1 7 3 輸出樣例 1 4 四種分法為 1,1,5 1,2...
洛谷P1025 數的劃分
將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 n,k 6 輸出格式 乙個整數,即不同的分法。輸入樣例 1 複製7 3 輸出樣例 1 複製4 四種分法為 1,1,5...