zoukankan      html  css  js  c++  java
  • 【水题】投票问题(一)

    投票问题(一)

    【试题描述】

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

    【输入要求】

    一行,包括两个数,分别为 m 和 n

    【输出要求】

    一个数,表示符合题目要求的方案数。

    【输入实例】

    2 1

      

    【输出实例】

    1
    

    【其他说明】

    数据范围:1 <= m,n < 20 .

    【试题分析】

        第一眼就可以看出是一道非常水的搜索题,如果说到了DFS后你还没有思路的话,请你赶快回去复习复习搜索算法,这是非常重要的一个算法,很显然,直接写代码吧……

    【代码】

    #include<iostream>
    using namespace std;
    int cnt,m,n;//cnt为计数器
    void dfs(int a,int b)
    {
        if(a<=b||a>m||b>n) return ;//如果b>=a或a>m或b>n,就不符合题意了,那么结束
        else if(a==m&&b==n) cnt++;//如果都遍历完一边以后没有问题就种数++
        else{dfs(a,b+1);dfs(a+1,b);}//分别向两个方向分而治之,继续看b+1与a+1
    }
    int main()
    {
        cin>>m>>n;
        dfs(1,0);//这是非常重要的一点,如果是(0,0)那么直接退出,就怎么都输出0了
        cout<<cnt;
    }
    
  • 相关阅读:
    C语言qsort函数算法性能测试
    文档流 css中间float clear和布局
    EasyUI Combobox 默认设置
    碳化硅资料整理
    hdu 4864 Task(贪婪啊)
    tiny210——uboot移植Makefile文章分析
    规则字符串大小比较?
    js产生随机数
    四个好看的CSS样式表格
    request的setAttribute()怎么用的?
  • 原文地址:https://www.cnblogs.com/wxjor/p/5697933.html
Copyright © 2011-2022 走看看