Thursday, 4 February 2021

Hex-a-bonacci Lightoj 1006

This problem is pretty easy, it only requires  memoization to solve.For this purpose we will use an array and save previous solved subproblems rather than call it again.

Codes:

#include <stdio.h>
#include <iostream>
using namespace std;
long long t;
long long a;
long long b;
long long c;
long long d;
long long e;
long long f;
long long n;
long long x[10005];
int fn( int n ) {
        for (int i = 0; i <= n; i++) {
            if( i == 0 ) {
                x[i] = a;
            continue;
            }
            if( i == 1 ) {
            x[i] = b;
            continue;
            }
            if( i == 2 ) {
            x[i] = c;
            continue;}
            if( i == 3 ) {
            x[i] = d;
            continue;}
            if( i == 4 ) {
            x[i] = e;
            continue;}
            if( i == 5 ) {
                x[i] = f;
            continue;

        }

        x[i] = x[i-1] + x[i-2] + x[i-3] + x[i-4] + x[i-5] + x[i-6];

        x[i] = x[i] % 10000007;

}

return x[n];

}
int main()
{
    long long ans;
    cin >> t;
    for (long long i = 1; i <= t; i++) {
        cin >> a;
        cin >> b;
        cin >> c;
        cin >> d;
        cin >> e;
        cin >> f;
        cin >> n;
        ans = fn(n);
        ans = ans % 10000007;
        cout << "Case "<< i <<": "<< ans << endl;
}}

No comments:

Post a Comment

If you have any doubts, let me know through comments

Monkey Banana Problem lightoj 1004

  In this problem we will check which adjacent cell will benefits the monkey best. For this, we will check all possible solution of this pro...