Advertisement
Guest User

lightoj 1006

a guest
Sep 20th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. int dp[10000];
  4.  
  5. int a, b, c, d, e, f;
  6. int fn( int n ) {
  7.     if( n == 0 ) return a;
  8.     if( n == 1 ) return b;
  9.     if( n == 2 ) return c;
  10.     if( n == 3 ) return d;
  11.     if( n == 4 ) return e;
  12.     if( n == 5 ) return f;
  13.     if(dp[n] != -1) return dp[n];
  14.     else
  15.     {
  16.         dp[n] = ( fn(n-1) + fn(n-2) + fn(n-3) + fn(n-4) + fn(n-5) + fn(n-6) );
  17.         return dp[n];
  18.     }
  19.  
  20.     return( fn(n-1) + fn(n-2) + fn(n-3) + fn(n-4) + fn(n-5) + fn(n-6) );
  21. }
  22. int main() {
  23.     int i;
  24.     for(i = 0 ; i<10000 ; i++) dp[i] = -1;
  25.     int n, caseno = 0, cases;
  26.     scanf("%d", &cases);
  27.     while( cases-- ) {
  28.         scanf("%d %d %d %d %d %d %d", &a, &b, &c, &d, &e, &f, &n);
  29.         printf("Case %d: %d\n", ++caseno, fn(n) % 10000007);
  30.     }
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement