zoukankan      html  css  js  c++  java
  • BNU34058——干了这桶冰红茶!——————【递推】

    干了这桶冰红茶!

    Time Limit: 1000ms
    Memory Limit: 65536KB
    64-bit integer IO format: %lld      Java class name: Main
    Type: 
    None
     
     

    BNUCIST的HWQ大神特别钟爱冰红茶这种神棍的饮料,有一天打Dota暴虐他寝室的WL后,决定大喝一顿庆祝一下。他决定用一种神棍的方式来喝冰红茶,那就是每口只喝1升,或者2升,或者3升(PS:HWQ大神真的能喝这么多= =)。爱思考的HWQ突然想知道,对于一桶整数升的冰红茶,他可以有多少种方案喝光,但似乎他不能马上想出解决的办法,纠结的他不知道答案他就喝不下去了。聪明的你快帮帮他吧。

     

    Input

        输入一个整数T,代表数据组数。

        对于每一组数据,输入一个整数N,1<=N<=30,表示这桶冰红茶有N升。

     

    Output

    对于每个N,输出一个整数,代表方案数。

     

    Sample Input

    1
    3
    

    Sample Output

    4

    Hint

    对于样例,3升的冰红茶,他可以(1)每次喝1升,连喝3口;(2)第一口喝1升,第二口喝2升;(3)第一口喝2升,第二口喝1升;(4)一口就喝掉3升。所以共有4种方案。

     

    Source

     
     
    解题思路:通过前面的递推出后边的。对于任意n可分为{{1,n-1},{2,n-2},{3,n-3}},所以sum[i]=sum[i-1]+sum[i-2]+sum[i-3];
     
    #include<bits/stdc++.h>
    using namespace std;
    int sum[50];
    int main(){
        int T;
        scanf("%d",&T);
        sum[0]=1;sum[1]=1;sum[2]=2;
        for(int i=3;i<32;i++){
            sum[i]=sum[i-1]+sum[i-2]+sum[i-3];
        }
        while(T--){
    
            int n;
            scanf("%d",&n);
            printf("%d
    ",sum[n]);
        }
        return 0;
    }
    

      

  • 相关阅读:
    document.documentElement与document.body clientHeight,scrollHeight,clientWidth,scrollWidth区别
    dedecms 系统基本参数 里面的值 原来不在文件写的而是在数据库里面
    Jquery使用控制Div动画显示、隐藏
    DEDE常用模板标签 List|列表标签
    document.body.clientHeight 和 document.documentElement.clientHeight的区别
    js获取宽高
    javascript arguments(转)
    PHP json_encode() 函数介绍
    全面阐述overflow:hidden属性
    JS数组去重
  • 原文地址:https://www.cnblogs.com/chengsheng/p/4409758.html
Copyright © 2011-2022 走看看