zoukankan      html  css  js  c++  java
  • lightoj 1006 Hex-a-bonacci【水】

    fuck!!!!!该死的题,说好的一大串,生怕按题中代码执行会超时,md,居然就是按题中的代码来,就改一丁点就行了!!!!!!!fuck,坑啊!!!!!!!!!

    Hex-a-bonacci
     
    Time Limit: 0.5 second(s) Memory Limit: 32 MB

    Given a code (not optimized), and necessary inputs, you have to find the output of the code for the inputs. The code is as follows:

    int a, b, c, d, e, f;
    int fn( int n ) {
        if( n == 0 ) return a;
        if( n == 1 ) return b;
        if( n == 2 ) return c;
        if( n == 3 ) return d;
        if( n == 4 ) return e;
        if( n == 5 ) return f;
        return( fn(n-1) + fn(n-2) + fn(n-3) + fn(n-4) + fn(n-5) + fn(n-6) );
    }
    int main() {
        int n, caseno = 0, cases;
        scanf("%d", &cases);
        while( cases-- ) {
            scanf("%d %d %d %d %d %d %d", &a, &b, &c, &d, &e, &f, &n);
            printf("Case %d: %d ", ++caseno, fn(n) % 10000007);
        }
        return 0;
    }

    Input

    Input starts with an integer T (≤ 100), denoting the number of test cases.

    Each case contains seven integers, a, b, c, d, e, f and n. All integers will be non-negative and 0 ≤ n ≤ 10000 and the each of the others will be fit into a 32-bit integer.

    Output

    For each case, print the output of the given code. The given code may have integer overflow problem in the compiler, so be careful.

    Sample Input

    Output for Sample Input

    5

    0 1 2 3 4 5 20

    3 2 1 5 0 1 9

    4 12 9 4 5 6 15

    9 8 7 6 5 4 3

    3 4 3 2 54 5 4

    Case 1: 216339

    Case 2: 79

    Case 3: 16636

    Case 4: 6

    Case 5: 54

    AC代码:

     1 #include<stdio.h>
     2 #include<string.h>
     3 #define H 10000007
     4 int shu[10100], n;
     5 int fun()
     6 {
     7     for(int  i = 0; i < 6; i++)
     8         shu[i] %= H;
     9     if(n < 6)
    10         return shu[n];
    11     for(int  i = 6; i <= n; i++)
    12         shu[i]=(shu[i-6]+shu[i-5]+shu[i-4]+shu[i-3]+shu[i-2]+shu[i-1])%H;
    13     return shu[n];
    14 }
    15 int main()
    16 {
    17     int t;scanf("%d",&t);
    18     for(int j = 1; j <= t; j++)
    19     {
    20         scanf("%d%d%d%d%d%d%d",&shu[0],&shu[1],&shu[2],&shu[3],&shu[4],&shu[5],&n);
    21         int ans = fun();
    22         printf("Case %d: %d
    ", j, ans);
    23     }
    24     return 0;
    25  } 
  • 相关阅读:
    OJ:自己实现一个简单的 priority_queue
    OJ:访问 const 成员函数问题
    OJ:重载 << 运算符
    Qt 编程中 namespace Ui { class Widget; } 解析
    QT 实现图片旋转的两种方法
    QTimer 的使用
    QT 完美实现圆形按钮
    QT 设置有效绘图区域
    基于 LWIP 建立 TCP Server 与主机通信实验
    大整数相乘 分治法 和 循环暴力法
  • 原文地址:https://www.cnblogs.com/123tang/p/5878122.html
Copyright © 2011-2022 走看看