码迷,mamicode.com
首页 > 编程语言 > 详细

<算法导论>装配线调度

时间:2015-04-02 13:33:32      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

 

技术分享



#include <unistd.h>
#include <iostream>
//算法导论PDF194页描述的问题
using namespace std;
inline int min(int a,int b)
{
    return a>b?b:a;
}
int a1[6]={7,9,3,4,8,4}; //a1装配线的时间
int a2[6]={8,5,6,4,5,7};//a2时间
int l2[6]={4,2,3,1,3,4};  //进入a2的时间
int l1[6]={2,2,1,2,2,1};  //进入a1的时间
int x1=3;   //a1出库时间
int x2=2;  //a2出库时间

//返回到装配线currentA的装配点currentP的最短时间
int minf(int currentA,int currentP)
{
    if(currentP)
    {
        if(currentA)
            return a2[currentP]+min(minf(0,currentP-1)+l2[currentP],minf(1,currentP-1));
        else
            return a1[currentP]+min(minf(0,currentP-1),minf(1,currentP-1)+l1[currentP]);
    }else
        if(currentA)
            return l2[0]+a2[0];
        else
            return l1[0]+a1[0];
}
int main()
{
    cout<<min(minf(0,5)+x1,minf(1,5)+x2)<<endl;
    return 0;
}



<算法导论>装配线调度

标签:

原文地址:http://my.oschina.net/000quanwei/blog/395074

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!