Saturday, March 2, 2013

LATGACH3 SPOJ


//http://www.spoj.com/problems/M3TILE/
//explaination- http://www.algorithmist.com/index.php/UVa_10918
#include<stdio.h>
int main()
{
        int i,n;
        int f[31];
        int g[31];
        f[0]=1,f[1]=0;
        g[0]=0,g[1]=1;
        for(i=2;i<31;i++)
        {
                f[i]=f[i-2]+2*g[i-1];
                g[i]=f[i-1]+g[i-2];
        }
        scanf("%d",&n);
        while(n!=-1)
        {
                printf("%d\n",f[n]);
                scanf("%d",&n);
        }
        return 0;
}

1 comment:

  1. why g[0] =0? why can't we take g[0]=1 just as f[0]=1?
    thanks in advance..

    ReplyDelete