Friday 25 September 2015

A. Dreamoon and Stairs : minimum steps to reach : recursion solution.



http://codeforces.com/contest/476/problem/A


#include<bits/stdc++.h>

using namespace std;
int dp[10001][5055];

int  fun(int cu,int n,int m,int st)
{

  if(st%m==0 && cu==n)
  {
    //  cout<<st<<endl;
      return st;
  }


  if(cu>n || st>n || st>5050 )
   return 999999;
int &ret=dp[cu][st];
if(ret)
    return ret;
 int k1=fun(cu+1,n,m,st+1);

 int k2=fun(cu+2,n,m,st+1);
 return ret=min(k1,k2);

}




int main()
{
 int n,m,i,j,k,l;
 cin>>n>>m;

 //if(n>m*2)
   // cout<<-1<<endl;

 k=fun(0,n,m,0);

  if(k==999999)
    cout<<-1<<endl;
  else
    cout<<k<<endl;

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...