차례차례 기초로 사과를 넣다

2601 단어 YTU
Do more with less
                                 
                Time Limit: 1 Sec  Memory Limit: 128 MB

Description


같은 사과 M개를 N개의 같은 접시에 넣으면 어떤 접시가 비어 있어도 놓지 않을 수 있다. 모두 몇 가지 다른 분법이 있느냐고 물었다.5, 1, 1과 1, 5, 1은 같은 분법이다.

Input


첫 번째 줄은 테스트 데이터의 수 t(0<=t<=20)이다.다음 행에는 공백으로 구분되는 두 개의 정수 M과 N이 있습니다.1<=M,N<=20.

Output


입력한 각 데이터 M 및 N의 경우 해당 K를 한 줄로 내보냅니다.

Sample Input


1 7 3

Sample Output



생각


대응하는 N과 사과와 M개의 접시는 두 가지 상황으로 나뉘는데 하나는 M의 접시를 모두 가득 넣는 것이다. 이때 현재 M개의 접시에 각각 사과를 하나씩 넣는 것과 같다.또 다른 상황은 접시가 가득 차지 않았기 때문에 공식은 F(n,m)=F(n,m−1)+F(n−m,m)이고 접시 수가 사과 수보다 많으면 F(n,m)=F(n,n)
#include
int solve(int n, int m)
{
    if(m == 1 || n == 0)
        return 1;
    if(m > n )
        return solve(n,n);
    else
        return solve(n,m-1) + solve(n-m,m);

}
int main()
{
    int N;
    scanf("%d",&N);
    int i = 0;
    while (i < N)
    {
        int n,m;
        scanf("%d %d",&n,&m);
        printf("%d
"
,solve(n,m)); i ++; } return 0; }

좋은 웹페이지 즐겨찾기