生产与存贮问题
来源:互联网 发布:linux 刷新arp 编辑:程序博客网 时间:2024/04/30 16:39
在百度知道上回答的一个有意思小算法题。
题目:
今已知半年内,各月份的需求量及生产该部件每单位数所需工时数如下表所示: 月份 k 1 2 3 4 5 6 月需求量bk 8 5 3 2 7 4 单位工时ak 11 18 13 17 20 10 设库存容量H = 9,开始时库存量为2,期终库存量为0。要求制定一个半年逐月生产计划,使得既满足需求和库存容量的限制,又使得总耗费工时数最少。
我的解答,在vs2008下编译通过:
#include "stdafx.h"#include<iostream>using namespace std;int main() {const int 库容=9;int 库存量 = 2;int 月需[7]={0,8,5,3,2,7,4};int 月工时[7]={0,11,18,13,17,20,10};int 总工时=0;int 月生产[7]={0};for (int i=1;i<=6; i++){int 本月必生产 = 月需[i]-库存量;if (本月必生产 > 0){库存量 = 0;总工时 += 本月必生产*月工时[i];月生产[i] += 本月必生产;}else{库存量 = 本月必生产*(-1);}//额外生产int 虚拟库存 = 库存量;for (int j=i+1;j<=6; j++){if (月工时[i] < 月工时[j]){if (虚拟库存 >= 月需[j]){虚拟库存 -= 月需[j];continue;}虚拟库存 = 0;int 库空余 = 9-库存量;if (库空余 > 0){if(库空余>=月需[j]){总工时 += 月需[j]*月工时[i];库存量 += 月需[j];月生产[i] += 月需[j];}else{总工时 += 库空余*月工时[i];库存量 = 9;月生产[i] += 库空余;break;}}else{break;}}else{break;}}}cout << "月生产: ";for (int i = 1; i<=6; i++){cout << "[" << 月生产[i] << "]";}cout << endl;cout << "总工时: " << 总工时 << endl;return 0;}
结果输出:
月生产: [15][0][8][0][0][4]
总工时: 309
- 生产与存贮问题
- mysql存贮中文问题
- C#变量内存存贮问题
- POSIX信号量与生产着消费者问题
- 查询生产单被用户占用的问题与方法
- 经典的生产与消费线程同步问题
- 一次测试环境与生产环境不同导致的问题
- 生产与消费的wait和notify位置问题
- 生产问题排查与程序设计的一些思考
- 关于在数据库中存贮换行符的问题
- 生产领料单问题。
- mmc生产运输问题
- 生产消费者问题代码
- 生产消费者问题 CreateMutex
- 多线程生产消费问题
- 【工作日志】生产问题
- 关于随机数生产问题
- java 生产消费者问题
- 模仿struts:界面
- 谈百区赚钱
- 有向图的强连通分量
- C++ Primer 读书笔记1
- PHP选项及信息相关函数-3
- 生产与存贮问题
- Django 安装及简单实例
- mysql数据库 not null 的限制解释
- socket编程网站收集
- PIC18f2580下TMR0定时器初值设置方法
- MSSQL 数据导入和导出
- iOS 中的单元测试与持续集成
- c# timer控件中 引发事件 未将对象引用设置到对象的实例
- CNN编辑:扯淡的WSJ,你们专黑Groupon三十年!