zstu.4019.排队购票(多维dp)

时间:2024-01-15 09:45:26

排队购票

Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 1264  Solved: 808

Description

一常球赛开始前,售票工作正在进行中。每张球票为50元,现有k(1 <= k <= 30)人排队购票,其中n人手持50元的钱,剩余m人手持100元的钱,假设开始时售票处没有钱,求出售票处不出现找不开钱的不同排队种数(拿同样钞票面值的人换位置视为同一种排队)

Input

多组测试数据,先输入整数T表示组数,然后每组输入2个整数n和m

Output

对于每组测试数据输出1行,值为题目描述中的排队种数

Sample Input

2
1 2
1 1

Sample Output

0
1

HINT

 #include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int N = + ;
int dp[N][N];
int T ;
int n,m;
int main()
{
//freopen ("a.txt" , "r" , stdin ) ;
scanf("%d",&T);
while( T --)
{
memset(dp,,sizeof(dp));
scanf("%d%d",&n,&m);
if(n < m ) {
puts ("") ;
continue ;
}
for(int i = ; i <= n ; i++)
{
for(int j = ; j <= max(i,m) ; j ++)
{
if(i == ) dp[i][j] = ;
else if(j == && i != )dp[i][j] = ;
else
{
dp[i][j] = dp[i-][j];
if(i > j-) dp[i][j] += dp[i][j-];
}
}
} printf("%d\n",dp[n][m]);
}
return ;
}