标签:
#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