zoukankan      html  css  js  c++  java
  • 洛谷 U3357 C2-走楼梯

    题目背景

    在你成功地解决了上一个问题之后,方方方不禁有些气恼,于是他在楼梯上跳来跳去,想要你求出他跳的方案数。..

    题目描述

    方方方站在一个n阶楼梯下面,他每次可以往上跳一步或两步,往下跳一步到四步(由于地心引力跳得比较远),而且在往下跳的时候你只能踩在你往上跳时踩过的格子。

    现在方方方在楼梯上乱跳,想问他跳到楼梯顶上最后又跳回楼梯下面的方案数mod 2333333。

    请注意:针对题目有歧义的情况,这里再说明一下。方方方只能一直向上跳,跳到楼梯最上面,然后再往下跳,跳回楼梯最底下。

    输入输出格式

    输入格式:

     

    输入一行一个数n。

     

    输出格式:

     

    输出方方方跳回楼梯下面的方案数mod 2333333。

     

    输入输出样例

    输入样例#1:
    5
    输出样例#1:
    52
    输入样例#2:
    7654321
    输出样例#2:
    451197
    输入样例#3:
    3
    输出样例#3:
    8

    说明

    对于30%的数据,n<=10。

    对于100%的数据,1<=n<=10^7。

    (其实也可以做到10^18,可是出题人懒)

    思路:DP,把向下走看成向上走。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define mod 2333333
    using namespace std;
    int n;
    long long ans[10000001];
    int main(){
        //freopen("stair.in","r",stdin);
        //freopen("stair.out","w",stdout);
        scanf("%d",&n);
        ans[0]=1;ans[1]=1;ans[2]=3;ans[3]=8;
        for(int i=4;i<=n;i++)
            ans[i]=(ans[i-1]+ans[i-2]*2+ans[i-3]*3+ans[i-4]*5)%mod;
        cout<<ans[n];
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    iOS-触摸事件、手势识别、摇晃事件、耳机线控
    iOS-App生命周期
    Foundation框架—时间处理对象NSDate
    Kali linux渗透测试的艺术 思维导图
    数据结构_二叉树遍历
    数据结构_数值转换
    <转载>Mac下,使用sshpass让iterm2支持多ssh登录信息保存
    <转载>iTerm2使用技巧
    Maven打包编译找不到com.sun.crypto.provider.SunJCE类
    MySQL自动设置create_time和update_time
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7483887.html
Copyright © 2011-2022 走看看