LightOJ 1006 Hex-a-bonacci

  这个题目摆着是递归,所以你肯定不能用递归吧,但是我没想懂题意,还是别人的提示让我恍然大悟,递归超时用递推啊,明显!!

#include<iostream>
#include<cstdio>
using namespace std;
int b,c,d,e,m,f;
const int Mod=10000007;
int main()
{
     int n,caseno=0,cases,a[10005];
        scanf("%d", &cases);
        while(cases--)
        {
        scanf("%d %d %d %d %d %d %d", &m, &b, &c, &d, &e, &f, &n);
        a[0]=m%Mod;
        a[1]=b%Mod;
        a[2]=c%Mod;
        a[3]=d%Mod;
        a[4]=e%Mod;
        a[5]=f%Mod;
        for(int i=6;i<=n;i++)
            a[i]=(a[i-1]+a[i-2]+a[i-3]+a[i-4]+a[i-5]+a[i-6])%Mod;
        printf("Case %d: %d\n",++caseno,a[n]);
        }
    return 0;
}


你可能感兴趣的:(LightOJ 1006 Hex-a-bonacci)