dede网站如何换logo,免费拓客100个方法,霸气又聚财的公司名字大全,个人网站建设的收获某印刷厂有 6项加工任务J1#xff0c;J2#xff0c;J3#xff0c;J4#xff0c;J5#xff0c;J6#xff0c;需要在两台机器Mi和M2上完 成。 在机器Mi上各任务所需时间为5,1,8,5,3,4单位; 在机器M2上各任务所需时间为7,2,2,4,7,4单位。 即时间矩阵为#xff1a; T1 {5, …某印刷厂有 6项加工任务J1J2J3J4J5J6需要在两台机器Mi和M2上完 成。 在机器Mi上各任务所需时间为5,1,8,5,3,4单位; 在机器M2上各任务所需时间为7,2,2,4,7,4单位。 即时间矩阵为 T1 {5, 1, 8, 5, 3 ,4} T2 {7, 2, 2, 4, 7, 4} 请解决以下问题 1.给出任务的最优加工顺序使得总加工时间最短; 2.计算加工完成所有任务的最短总时间; 算法流程
1. 把aibi 的放在数组list1把aibi放在数组list2中
2. 把list1进行从小到大排序list2从大到小排序
3. 把list1和list2进行合并list1在前list2在后这个顺序即为加工的顺序 public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] A new int[n];for (int i 0; i n; i) {A[i] sc.nextInt();}int[] B new int[n];for (int i 0; i n; i) {B[i] sc.nextInt();}Listint[] list1 new ArrayList();Listint[] list2 new ArrayList();for (int i 0; i n; i) {if (A[i] B[i]) {list1.add(new int[]{A[i], B[i]});} else {list2.add(new int[]{A[i], B[i]});}}list1.sort((o1, o2) - o1[0] - o2[0]);list2.sort((o1, o2) - o2[1] - o1[1]);Listint[] list new ArrayList();list.addAll(list1);list.addAll(list2);int AA 0;int BB 0;for(int[] arrs : list){AAarrs[0];BB Math.max(AA,BB) arrs[1];}System.out.println(Math.max(AA,BB));} list中即为最优的顺序
最终输出结果为最短时间