#include <stdio.h>
#define N 20
#define DELTA 2
int bestlen;
int bestsele[N];
int sele[N];
int n;
int orderlen[N];
int total;
main()
{int i;clrscr();printf("\n Please enter total length of the steel:\n");/* 输入钢材总长 */scanf("%d",&total);printf("\n Please enter number of order:\n");  /* 输入定单数 */scanf("%d",&n);printf("\n Please enter the orders:\n"); /* 输入各定单 */for(i=0;i<n;i++)scanf("%d",&orderlen[i]);bestlen=0;   /*最佳解用料的初值 */for(i=0;i<n;i++)sele[i]=bestsele[i]=0; /*置当前选择和最佳选择初值 */try(); /* 调用函数求解 */for(i=0;i<n;i++) /* 输出结果 */if(bestsele[i])printf("order %d length = %d\n",i+1,orderlen[i]);printf("\n Press any key to quit...");getch();
}
try()
{int i,len;for(len=i=0;i<n;i++)  /* 求当前选中的用料量 */if(sele[i])len+=orderlen[i]+DELTA;if(len-DELTA<=total)    /* 注意最后一段可能不需要切割 */{if(bestlen < len){/* 找到一个更好的解 */bestlen = len;for(i=0;i<n;i++)bestsele[i]=sele[i];}for(i=0;i<n;i++) /* 对所有未选定单逐一作选中尝试循环 */if(!sele[i]){sele[i]=1; /* 做选中尝试*/try();sele[i]=0;}}
}

021.求解钢材切割的最佳订单相关推荐

  1. 《算法导论》中动态规划求解钢条切割问题

    动态规划算法概述 动态规划(dynamic programming)1是一种与分治方法很像的方法,都是通过组合子问题的解来求解原问题.不同之处在于,动态规划用于子问题重叠的情况,比如我们学过的斐波那契 ...

  2. c语言220程序,《C语言程序实例大全》原代码220例

    <C语言程序实例大全>,一共220个. 找了很多地方都不全,最后在CSDN上用积分下载了这个,C语言初学者可以参考. 下载地址: http://doc.xuehai.net/tp09770 ...

  3. 200个c语言程序(由简单到复杂),200个c语言程序(由简单到复杂)

    200个C语言程序(由简单到复杂)从简单到难的200来个经典C程序csdn上的不过那里要资源分,自己下了下来,放到论坛里.有需要的童鞋可以下载学习学习.第一部分 基础篇 001 第一个C程序 002 ...

  4. c语言220程序,电赛必备220个C语言实例源码分享

    找了很多地方都不全,最后在CSDN上用积分下载了这个,准备电赛的朋友可能会用的上的.同时供C语言初学者可以参考.包括五子棋游戏.图书管理系统等.附件内容包括C语言源码和turbo C exe文件. 清 ...

  5. 回文日期 php,c语言程序实例大全,220个详细程序源代码

    c语言 程序设计 实例 大全 目录: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 ...

  6. java单链表选票_200个经典C程序源码

    经典的C资源,很全面详细 对于初学者来说,太重要了! 包含以下内容:第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 ...

  7. c语言程序设计移动字母,C语言程序设计实例大全(220个例子)

    C语言程序设计实例大全,C语言是世界上最流行.使用最广泛的高级程序设计语言之一,这里c语言 程序设计 实例 大全有220个例子供大家参考 c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 ...

  8. C语言例程:通过指针比较整数大小

    目录 求解钢材切割的最佳订单 实例说明 实例解析 指针的概念 指针变量的类型说明 指针变量的赋值 指针变量的运算 程序代码 程序运行结果 归纳注释 求解钢材切割的最佳订单 实例说明 本实例通过指针实现 ...

  9. 钢条切割(记忆型递归)dp

    题目: Serling公司购买长钢条,将其切割为短钢条出售.切割工序本身没有成本支出.公司管理层希望知道最佳的切割方案. 假定我们知道Serling公司出售一段长为i英寸的钢条的价格为pi(i=1,2 ...

最新文章

  1. 【BZOJ】1630: [Usaco2007 Demo]Ant Counting(裸dp/dp/生成函数)
  2. python 新运算符定义_【干货系列之萌新知识点】python与变量和运算符
  3. JFinal-layui v1.2.3 发布,极速开发企业应用系统
  4. linux文件中链接文件系统,一种基于Linux文件系统文件链接的缓存LRU方法
  5. JS识别不同浏览器信息
  6. Java 接口小总结;
  7. Android免Root环境下Hook框架Legend原理分析
  8. Selenium自动化获取WebSocket信息
  9. 反卷积,上采样,上池化的理解
  10. 海康ISAPI透传ftp
  11. 应届毕业生2012求职之路
  12. 什么是枚举,及枚举的特点
  13. 公众号如何用微信红包吸粉而不被封号?实战24天10万粉
  14. 漫威所有电影的 按时间线的观影顺序
  15. Linux 文本对比 diff
  16. 软件离散数学复习笔记资料
  17. VMware安装Ubuntu Kylin系统
  18. Chrony -实现NTP时间同步
  19. 小米手机保护套自动锁屏功能
  20. 教资面试计算机硬件真题,初中信息技术教资面试真题:保存图文-复制并保存文字...

热门文章

  1. 基于pdfium获取pdf目录
  2. 管道设计软件:PIPEDATA-PRO
  3. 美化CodeBlocks的主题和字体
  4. matlab 三维数组运算,MATLAB二维三维画图仿真数组运算
  5. 数据可视化:python调用pyecharts库绘制航线专题图
  6. unipush解决华为、小米、魅族收不到厂商推送的问题
  7. ubuntu20.04安装WPS教程
  8. android 任务,应用任务(app.task) - 0.2.3 - 应用 - 酷安
  9. UI设计前期准备宝藏网站,快码住!!
  10. 神勇的产品经理之路系列-09 乔布斯:遗失的访谈