poj1664--put an apple

Source: Internet
Author: User

Put the Apples
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 26595 Accepted: 16906

Description

Put m the same apples on n the same plate, allow some plates to be empty, ask how many different ways? (denoted by k) 5,1,1 and 1,5,1 are the same kind of sub-method.

Input

The first line is the number of test data t (0 <= T <= 20). Each of the following lines contains two integers m and n, separated by a space. 1<=m,n<=10.

Output

For each set of data entered M and N, the corresponding k is output in one line.

Sample Input

17 3

Sample Output

8

Source

[Email protected]


A simple DP question, set DP[I][J] means the number of plans to put the I apple into a J plate, the plate allows free

If I or J is 1, then the scheme is 1, if I < J, there must be empty plates, but which of the few are indifferent, so at this time dp[i][j] = dp[i][i];

if i = = j, then the plan is to put the I apple into the j-1 plate of the scheme, plus a split plan

If i > J, either there is at least one plate empty, or both (take out J to split the J plate, consider the remaining i-j apples)


#include <map>  #include <set>  #include <list>  #include <stack>  #include <queue>  #include <vector>  #include <cmath>  #include <cstdio>  #include < cstring>  #include <iostream>  #include <algorithm>    using namespace Std;int dp[15][15]; int main () {int T, M, N;memset (DP, 0, sizeof (DP)), for (int i = 1; I <= one; ++i) {for (int j = 1; j <= One; ++j) {if ( i = = 1 | | j = = 1) {Dp[i][j] = 1;} if (I < j) {Dp[i][j] = dp[i][i];} else if (i = = j) {Dp[i][j] = dp[i][j-1] + 1;} ELSE{DP[I][J] = Dp[i][j-1] + dp[i-j][j];}}} scanf ("%d", &t), while (t--) {scanf ("%d%d", &m, &n);p rintf ("%d\n", Dp[m][n]);} return 0;}


poj1664--put an apple

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.