美文网首页
笔试刷题-美团2018-07-30

笔试刷题-美团2018-07-30

作者: Dodo159753 | 来源:发表于2018-07-30 07:29 被阅读0次

    题目描述:

    /**
    大富翁游戏,玩家根据骰子的点数决定走的步数,
    即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。
    求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。
    输入描述:
    输入包括一个整数n,(1 ≤ n ≤ 6)
    输出描述:
    输出一个整数,表示投骰子的方法
    输入例子1:
    6
    输出例子1:
    32
    */
    
    

    思路如下:

    若dp[n]表示走到第n步有多少种选择
    dp[n]=dp[n-1]+dp[n-2]+...+dp[1]+dp[0]
    因为骰子的关系不管从前面任何n-1个点都可以作为出发点然后一步到位
    dp[0]=1
    dp[1]=1
    ...
    dp[n]=2^n

    代码如下:

    #include<stdio.h>
    #include<iostream>
     
    using namespace std;
     
    int main()
    {
        int n;
        scanf("%d", &n);
        int res=1;
        for(int i=0; i<n-1; i++)
            res<<=1;
        printf("%d", res);
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:笔试刷题-美团2018-07-30

          本文链接:https://www.haomeiwen.com/subject/kmrxvftx.html