adplus-dvertising
frame-decoration

Question

Consider the following recursive implementation of the rod cutting problem. Complete the below code.
#include<stdio.h>
#include<limits.h>
int max_of_two(int a, int b)
{
      if(a > b)
            return a;
      return b;
}
int rod_cut(int *prices, int len)
{
      int max_price = INT_MIN; // INT_MIN is the min value an integer can take
      int i;
      if(len <= 0 )
	return 0;
      for(i = 0; i < len; i++)
	 max_price = max_of_two(_____________); // subtract 1 because index starts from 0
      return max_price;
}
int main()
{
      int prices[]={2, 5, 6, 9, 9, 17, 17, 18, 20, 22},len_of_rod = 10;
      int ans = rod_cut(prices, len_of_rod);
      printf("%d",ans);
      return 0;
}

a.

max_price, prices[i] + rod_cut(prices,len – i – 1)

b.

max_price, prices[i – 1].

c.

max_price, rod_cut(prices, len – i – 1)

d.

max_price, prices[i – 1] + rod_cut(prices,len – i – 1)

Answer: (a).max_price, prices[i] + rod_cut(prices,len – i – 1)

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. Consider the following recursive implementation of the rod cutting problem. Complete the below code.

Similar Questions

Discover Related MCQs

Q. For every rod cutting problem there will be a unique set of pieces that give the maximum price.

Q. You are given an array of elements where each array element represents the MAXIMUM number of jumps that can be made in the forward direction from that element. You have to find the minimum number of jumps that are required to reach the end of the array. Which of these methods can be used to solve the problem?

Q. Consider the following array:
{1, 3, 5, 8, 9, 2, 6, 7, 6}

What is the minimum number of jumps required to reach the end of the array?

Q. For a given array, there can be multiple ways to reach the end of the array using minimum number of jumps.

Q. For any array, given that at most one element is non-zero, it is ALWAYS possible to reach the end of the array using minimum jumps.

Q. The Knapsack problem is an example of ____________

Q. Which of the following methods can be used to solve the Knapsack problem?

Q. You are given a knapsack that can carry a maximum weight of 60. There are 4 items with weights {20, 30, 40, 70} and values {70, 80, 90, 200}. What is the maximum value of the items you can carry using the knapsack?

Q. Which of the following problems is equivalent to the 0-1 Knapsack problem?

Q. What is the time complexity of the brute force algorithm used to solve the Knapsack problem?

Q. The 0-1 Knapsack problem can be solved using Greedy algorithm.

Q. Which of the following methods can be used to solve the matrix chain multiplication problem?

Q. Which of the following is the recurrence relation for the matrix chain multiplication problem where mat[i-1] * mat[i] gives the dimension of the ith matrix?

Q. Consider the two matrices P and Q which are 10 x 20 and 20 x 30 matrices respectively. What is the number of multiplications required to multiply the two matrices?

Q. Consider the matrices P, Q and R which are 10 x 20, 20 x 30 and 30 x 40 matrices respectively. What is the minimum number of multiplications required to multiply the three matrices?

Q. Consider the matrices P, Q, R and S which are 20 x 15, 15 x 30, 30 x 5 and 5 x 40 matrices respectively. What is the minimum number of multiplications required to multiply the four matrices?

Q. Consider the brute force implementation in which we find all the possible ways of multiplying the given set of n matrices. What is the time complexity of this implementation?

Q. Which of the following methods can be used to solve the longest common subsequence problem?

Q. Consider the strings “PQRSTPQRS” and “PRATPBRQRPS”. What is the length of the longest common subsequence?

Q. Which of the following problems can be solved using the longest subsequence problem?