[训练]流水线调度问题//:Definestheentrypointfortheconsoleapplication.#include""#include<iostream>#defineN100usingnamespacestd;typedefinttimeType;//f1[j],f2[j]分别存储到流水线1,2站j的最少时间//j>=1timeTypef1[N],f2[N];//l1[j],l2[j]分别存储到流水线1,2站j是哪一条流水线的站j-1来的//j>=2intl1[N],l2[N];//存储物品处理的最小时间timeTypefx;//lx存储最后是从哪条流水线流出intlx;//存储每一个站点的处理时间a1[j]表示流水线1的站点j上的处理时间//j>=1timeTypea1[N],a2[N];//存储转换流水线需要的时间t1[j-1]表示从流水线1站j-1转换到流水线2站j需要的时间//j>=2timeTypet1[N],t2[N];//存储分别物品上流水线1,2的时间timeTypee1,e2;//存储分别物品下流水线1,2的时间timeTypex1,x2;//存储最终的路径intline[N];/*voidprint_line(int*l1,int*l2,intline,intn){if(n==2){if(line==1){cout<<"line:"<<l1[n]<<"station:"<<n-1<<endl;line=l1[n];}else{cout<<"line:"<<l2[n]<<"station:"<<n-1<<endl;line=l2[n];}}else{print_line(l1,l2,line,n-1);cout<<}}*///输出路径,从后往前把路径倒存入到line数组中,然后输出voidprint_line(int*l1,int*l2,int*line,intlx,intn){inti=lx;line[n]=lx;intj;for(j=n;j>1;j--){if(i==1){i=l1[j];line[j-1]=i;}else{i=l2[j];line[j-1]=i;}}for(j=1;j<=n;j++)cout<<"line:"<<line[j]<<",station:"<<j<<endl;}int_tmain(intargc,_TCHAR*argv[]){intcases;cout<<"请输入案例个数:"<<endl;cin>>cases;while(cases--){//初始化各变量memset(f1,0,sizeof(f1));memset(f2,0,sizeof(f2));memset(l1,0,sizeof(l1));memset(l2,0,sizeof(l2));memset(a1,0,sizeof(a1));memset(a2,0,sizeof(a2));memset(t1,0,sizeof(t1));memset(t2,0,sizeof(t2));memset(line,0,sizeof(line));lx=e1=e2=x1=x2=0;cout<<"请输入流水线站点个数:"<<endl;intn;cin>>n;inti;cout<<"请输入上流水线1需要消
[训练]流水线调度问题 来自淘豆网www.taodocs.com转载请标明出处.