zoukankan      html  css  js  c++  java
  • 投票问题二

    试题描述

    欧阳文和欧阳武竞选学联主席,汪梁森负责唱票,共有m+n张,结果欧阳文获胜,已知欧阳文和欧阳武分别获得 m 张票和 n 张票(m>n)。现在请你计算在唱票过程中欧阳文的票数始终比欧阳武票数多的方案有多少种。

    输入
    一行,包括两个数,分别为 m 和 n 
    输出
    一个数,表示符合题目要求的方案数。
    输入示例
    5 3
    输出示例
    14
    其他说明
    数据范围:1 <= m,n < 100.
     

    投票问题一的升级版!主要是数据的范围变大了,所以DFS已经搞不定了。

    动态规划是一种更快的方法。

    ***************************(样例分析)

    1 0
    -----
    2 0
    -----
    2 1(3 0)
    -----
    3 1(4 0)
    -----
    4 1,3 2(5 0)
    -----
    5 1,4 2
    -----
    5 2,4 3
    -----
    5 3

    ***************************

     1 #include <iostream>
     2 
     3 using namespace std;
     4 long long f[101][101];   //每轮唱票,f[欧阳文当前票数][欧阳武当前票数],当前共有多少种方案数 
     5 int main()
     6 {
     7     long long m,n;
     8     scanf("%lld%lld",&m,&n);
     9     f[1][0]=1;   //同样,第一票一定要给欧阳文 
    10     for(int i=1;i<=m;i++)
    11     {
    12         for(int j=0;j<=n;j++)
    13         {
    14             if(i>j && (i!=1 || j!=0)) f[i][j]=f[i-1][j]+f[i][j-1];    //要达到当前的票数情况,要么是给欧阳文加上了一票,要么是给欧阳武加上了一票。 
    15             else if(i<=j) break;
    16         }
    17     }
    18     printf("%lld",f[m][n]);
    19     //system("pause");
    20     return 0;
    21 }
    投票问题二
  • 相关阅读:
    BigDecimal 和NumberFormat及 获取总页数的应用
    格式化小数点和百分号 DecimalFormatter
    Vue 项目开发
    js 对象补充
    Vue 实例成员
    Vue 指令
    Vue 介绍
    Vue
    request-html
    Python 中的经典类新式类
  • 原文地址:https://www.cnblogs.com/YXY-1211/p/5687275.html
Copyright © 2011-2022 走看看