Wednesday 2 September 2015

Spoj Problem--> Coins Recursive method.

                                            http://www.spoj.com/problems/COINS/

COINS - Bytelandian gold coins


A Coin at a Moment can be changed to three coins (n/2) ,(n/3) , (n/4). Here Map is used to save the 
result in a current state ( dp ) , The saved result can be used next time it is used,



#include<bits/stdc++.h>

using namespace std;

map<long long int,long long int > dp;

long long int brk(long long int n)
{
    if(dp[n])
        return dp[n];

    if(n<12)
        return n;

   long long int ct=0;

  if(n>=12)
    {
      ct+=brk(n/2);
      ct+=brk(n/3);
      ct+=brk(n/4);
    }
  return dp[n]=ct;
}


int main()
{

 long long int n;
 while(scanf("%lld",&n)!=EOF)
 {

  cout<<brk(n)<<endl;
  dp.clear();

 }
return 0;
}

No comments:

Post a Comment

Uploading and Running Lambda function in AWS

Main.go package main import ( "fmt" "encoding/json" "log" "github.com/aws/aws-lambda-g...