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


    排队购票

    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

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<algorithm>
     4 using namespace std;
     5 const int N = 30 + 5 ;
     6 int dp[N][N];
     7 int T  ;
     8 int n,m;
     9 int main()
    10 {
    11     //freopen ("a.txt" , "r" , stdin ) ;
    12     scanf("%d",&T);
    13     while( T --)
    14     {
    15         memset(dp,0,sizeof(dp));
    16         scanf("%d%d",&n,&m);
    17         if(n < m ) {
    18             puts ("0") ;
    19             continue ;
    20         }
    21         for(int i = 0 ; i <= n ; i++)
    22         {
    23             for(int j = 0 ; j <= max(i,m) ; j ++)
    24             {
    25                 if(i == 0 )  dp[i][j] = 0 ;
    26                 else if(j == 0 && i != 0 )dp[i][j] = 1 ;
    27                 else
    28                 {
    29                     dp[i][j] = dp[i-1][j];
    30                     if(i > j-1) dp[i][j] += dp[i][j-1];
    31                 }
    32             }
    33         }
    34        
    35         printf("%d
    ",dp[n][m]);
    36     }
    37     return 0 ;
    38 }
    View Code
  • 相关阅读:
    luoguP2939 [USACO09FEB]改造路Revamping Trails
    出题
    数字游戏
    统一异常处理
    数据验证
    拦截器
    数据绑定和表单标签库
    类型转换和格式化
    Spring MVC入门
    4springboot:日志(下)
  • 原文地址:https://www.cnblogs.com/get-an-AC-everyday/p/4391674.html
Copyright © 2020-2023  润新知