Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int dp[10000];
- 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;
- if(dp[n] != -1) return dp[n];
- else
- {
- dp[n] = ( fn(n-1) + fn(n-2) + fn(n-3) + fn(n-4) + fn(n-5) + fn(n-6) );
- return dp[n];
- }
- return( fn(n-1) + fn(n-2) + fn(n-3) + fn(n-4) + fn(n-5) + fn(n-6) );
- }
- int main() {
- int i;
- for(i = 0 ; i<10000 ; i++) dp[i] = -1;
- 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\n", ++caseno, fn(n) % 10000007);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement