• 南邮NOJ Counter Attack


    Counter Attack

    时间限制(普通/Java) : 1000 MS/ 2000 MS          运行内存限制 : 65536 KByte
    总提交 : 440            测试通过 : 74 

    题目描述

    (题名来源:2013年校队出战南京邀请赛曾用队名)

    逆袭(Counter Attack)什么的,是必须的,不逆袭,不算活过。DS为逆袭,求教神预言家Master Yu。预言家一听是DS想逆袭,心中一叹曰“喜闻乐见”,随即铺开一列塔罗牌,对DS说:你可以从这列塔罗牌中取走任意多个,但是,不能取走相邻的牌,因为相邻的牌是相刑的,会带来一生孤独运。预言家说完,抬手转身出门而去,远处传来上帝的声音:“若你能找出所有的可行取法,百日内必可被逆推!”
    请问,到底有多少种可行的取法呢?



    输入

    第一行包含一个正整数T (1≤T≤10),表示有T组测试用例。
    每组用例包含一行,仅一个正整数n (1≤n≤50),表示这列塔罗牌有n张。

    输出

    每组用例输出一行,仅包含一个整数,即满足规则的可行取法数。

    样例输入

    1
    5

    样例输出

    13

    #include<iostream>
    #include<stdio.h>
    #include<stdlib.h>
    #include<cstdio>
    using namespace std;
    int T;
    const int N=100;
    int main()
    {
        scanf("%d",&T);
        while(T--)
        {
            int n;
            int64_t a[N];
            scanf("%d",&n);
            a[1]=2;
            a[2]=3;
            a[3]=5;
            for(int i=4;i<=50;i++)
            {
                a[i]=a[i-2]+a[i-1];
            }
            printf("%I64d
    ",a[n]);
        }
        return 0;
    }
    

    在累加的过程中a[i]的值可能会很大,比如说当牌数等于50的时候,要注意把数组数据类型声明为int 64位的,或者long long int。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    大数据和云计算
    关于移动开发的一些讨论(在有些场合,移动就是噱头,胡乱鼓吹是不负责任的)
    软件开发设计中的两个误区
    【转】从底层了解ASP.NET体系结构
    DotNet命名规范参考(转)
    PAD会取代PC吗
    转:关于http server
    AOP 面向方面的编程 Aspect Oriented Programing --第一次听说呢,汗!
    关于字符集(讲的比较清楚的一片字符集科普文章)
    .NET vs JAVA
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965710.html
Copyright © 2020-2023  润新知