动态规划之切木头头问题(C语言)

**

问题描述

**
有一个长度为n的钢条需要切割成短钢条出售,长度不同的钢条售价也不同,如下:

在这里插入图片描述
试问怎样切才能获得最大利益?

#include <stdio.h>
#include <stdlib.h>
int L[11]={0,1,2,3,4,5,6,7,8,9,10},P[11]={0,1,5,8,9,10,17,17,20,23,28};
int num[11]={0};
void fun(int n)
{
	int i,j,max;
	for(i=1;i<=n;i++){
		max=P[i];
		for(j=1;j<=i;j++){
			max=P[j]+num[i-j] >=max? (P[j]+num[i-j]):max;
		}
	num[i]=max;
	}
}
int main()
{
	int n;scanf("%d",&n);
	fun(n);
	printf("%d ",num[n]);
	return 0;
}
发布了7 篇原创文章 · 获赞 2 · 访问量 160

猜你喜欢

转载自blog.csdn.net/PUZHANGYU/article/details/104336618