F - 小晴天老師系列——蘋果大豐收

來源:互聯網
上載者:User

標籤:

 

F - 小晴天老師系列——蘋果大豐收Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)Submit StatusProblem Description

小晴天的後花園有好多好多的蘋果樹,某天,蘋果大豐收~小晴天總共摘了M個蘋果,我們假設蘋果之間是不可分辨的。

為了儲存蘋果,小晴天買了N個一模一樣的箱子,想要把蘋果放進去,允許有的箱子是空的,請問小晴天有多少種不同的放法呢?

例如對於4個蘋果,3個箱子,2+1+1和1+2+1和1+1+2 是同一種分法。

Input

多組資料,首先是一個正整數t(t<=100)表示資料的組數。

每組資料均包含二個整數M和N(1<=M,N<=10)。

Output對於每組資料,輸出一個整數,表示不同的放法數。Sample Input
17 3
Sample Output
8
Hint

對於7個蘋果,3個箱子

有7+0+0=6+1+0=5+2+0=4+3+0=5+1+1=4+2+1=3+2+2=3+3+1

這8种放法。

思路:這以前做過的一題一樣,不過這是暴力專題,就用暴力的方法過了。。。

按照每次放的方式,從多到少一次放蘋果,

比如7 3,的話就是 :

    7  0  0

    6  1  0

           5  2  0

       5  1  1

    4  3  0

    4  2  1

    3  3  1

    3  2  2

是不是發現了什麼規律哈,從左邊到右邊依次遞減,而且總和會等於M,且數的個數不能夠超過N,所暴力解決:

 1 #include <iostream> 2 #include <stdio.h> 3 using namespace std; 4 int M,N; 5 int SUM; 6 void BFS(int sum,int j,int Num)/*BFS(i,j,k),i表示當前數的總和,*/ 7 {                               /*j標記第幾個數,k表示當前的數*/ 8     int i; 9     if(j<=N&&sum==M){SUM++;return ;}/*總和等於M且數的個數小於N為一種方法*/10     for(i=Num;i>0;i--)/*每一次取的數都要小於或者等於當前的數*/11     {12         if(sum+i<=M)/*判斷是否超出總和*/13         {14             BFS(sum+i,j+1,i);15         }16     }17 }18 int main()19 {20     int i,T;21     scanf("%d",&T);22     while(T--)23     {24         scanf("%d%d",&M,&N);25         SUM=0;26         for(i=M;i*N>=M;i--)27         {28             BFS(i,1,i); 29         }30         printf("%d\n",SUM);31     }32     return 0;33 }
View Code

以前的一題目放蘋果:http://www.cnblogs.com/LWF5201314614/p/3750313.html

F - 小晴天老師系列——蘋果大豐收

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.