题目描述:
有句谚语说如果马有投票权,世界上不会有汽车。而事实是就算马有投票权,它们还是会被汽车淘汰。正所谓生产力和科技进步的车轮是谁也无法抵挡的。魔法世界的工业生产早已实现了自动化,虽然这曾经引起长达十余年的由失业工人发动的大规模抗议浪潮。
话说逆转“时空陷”的机器就是在魔法学院的自动化生产线上完成的,已知完成N个作业要在由两台机器M1和M2组成的流水线上完成加工,每个作业i必须先在M1上然后在M2上加工,时间分别为ai和bi。
确定这n个作业的加工顺序,使得从第一个任务开始在M1上加工到最后一个任务在M2上加工完成的总时间尽量小。
输入格式:
每组测试数据第一行有一个整数N(1 ≤ N ≤ 10000), 表示作业数,以下N行每行包含两个整数a和b (0≤a,b≤100),表示作业在M1和M2上加工的时间。所有测试数据结束标志为0。
输出格式:
每组测试数据输出一行最少完成时间。
样例输入:
4 1 2 3 4 5 6 7 8 4 10 1 10 1 1 10 1 10 5 4 5 4 1 30 4 6 30 2 3 6 5 7 1 2 8 2 5 4 3 7 4 4 0
样例输出:
24 23 47 28
代码:
#includeusing namespace std; const int MAXN=25005; int n,x,y; int lena,lenb,sum1,sum2; struct node{int l,r;}a[MAXN],b[MAXN]; bool cmp1(node x,node y){return x.r y.l;} int main(){ while(1){ scanf("%d",&n); if(n==0) break; lena=0,lenb=0,sum1=0,sum2=0; for(int i=1;i<=n;i++){ scanf("%d %d",&x,&y); if(x 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)