HDU2044

作者: 费曼JW | 来源:发表于2019-04-21 00:12 被阅读0次

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044

    思路:a爬到b的可能路线数就等于1爬到b-a的可能路线数;1到2有1种可能,1到3有2种可能,1爬到4有3种可能,1爬到5有5种可能,1爬到6有8种可能...不难发现,这是斐波那契递推。

    问题:
    1.这道题的答案很大,开始我使用int提交WA,后改用long long 类型AC。
    2.输出long long型得使用%lld。

    代码:

    #include <stdio.h>
    long long ans(int x);
    int main()
    {
        int n, a, b;
        scanf("%d", &n);
        for(;n>0;n--)
        {
            scanf("%d%d", &a, &b);
            printf("%lld\n", ans(b - a));
        }
        return 0;
    }
    long long ans(int x)
    {
        int i;
        long long ans[60];
        ans[1] = 1; ans[2] = 2;
        for (i = 3; i <= x; i++)
        {
            ans[i] = ans[i - 1] + ans[i - 2];
        }
        return ans[x];
    }
    

    相关文章

      网友评论

          本文标题:HDU2044

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