• HDU 2569


    题目描述

             HDU 2569

    分析

            使用递推的方法可以解决。
            设当悬崖的长度为n时,到达彼岸的方法有F[n]种。
            显然,F[1] = 3, F[2] = 9, F[3] = 21     假设已知F[n-1]与F[n-2],寻求F[n]与F[n-1]、F[n-2]之间的关系。
            分为两种情况:
            (1)第n-2段与n-1段颜色相同,则第n段可以为三种颜色的任意一种:
                 F[n-2] * 3
            (2)第n-2段与n-1段颜色不同,第n段只能为其中的两种颜色:
                 (F[n-1] - F[n-2]) * 2

            故,总的方法数为:F[n-2] * 3 + (F[n-1] - F[n-2]) * 2 = F[n-1] * 2  + F[n-2]

    源码

            
    #include <stdio.h>
    
    int main()
    {
        int result[40];
        int i;
    
        result[1] = 3;
        result[2] = 9;
        result[3] = 21;
        for (i = 4; i < 40; i ++)
        {
            result[i] = result[i-1]*2 + result[i-2];
        }
    
        int C, n;
        scanf("%d", &C);
        while (C --)
        {
            scanf("%d", &n);
            printf("%d
    ", result[n]);
        }
    
        return 0;
    }

  • 相关阅读:
    【ExtJS】关于自定义组件(一)
    【ExtJS】关于自定义组件
    特殊的css样式
    样式表笔记
    html 表单笔记
    图片热点和网页内嵌随笔
    快速网页
    HTML基础和表格
    HTML基础
    递归算法 笔记
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3278186.html
Copyright © 2020-2023  润新知