/**问题描述
信息学院有四个专业A、B、C、D,各专业入学新生人数分别是Na, Nb, Nc,Nd人。新学期开始有一门公共课,按专业划分成四个教学班,
四个班在某个相同的时间段上课。已知该时间段还剩余8间教室可用,编号从1到8,每个教室能容纳的人数分别为120,40,85,50,100,140,70,100。
试编一个程序,为上述四个教学班分配教室。
找出所有可行的分配方案,对于每个方案依次输出为专业A、B、C、D分配的教室编号,按照字典顺序输出所有方案。
输入格式
一行,包含4个整数Na, Nb, Nc,Nd (20≤Na, Nb, Nc,Nd≤120),每2个整数之间用一个空格隔开。
输出格式
如果存在分配方案,输出若干行,每行表示一种教室分配方案,包含4个整数,依次表示A、B、C、D四个专业分配的教室编号。
注意:按照字典序输出所有方案。
如果不存在分配方案,输出-1。
样例输入
109 87 120 81
样例输出
1 5 6 3
1 5 6 8
1 8 6 3
1 8 6 5
6 5 1 3
6 5 1 8
6 8 1 3
6 8 1 5
样例输入
100 101 102 103
样例输出
-1*/
import java.util.*;
public class Main5 {
public static int a, b, c, d, sum = 0;
public static int[] classRoom = { 120, 40, 85, 50, 100, 140, 70, 100 },
array = new int[4];
public static int[] tmp = new int[4];
public st
教室排课
最新推荐文章于 2024-03-17 17:15:27 发布

该博客介绍了一个Java程序,用于解决信息学院四个专业A、B、C、D的公共课教室分配问题。给定一定数量的专业新生和教室容量,程序通过全排序递归算法寻找所有可能的教室分配方案,并按照字典序输出。博客提供了样例输入和输出,展示了程序的运行效果。
最低0.47元/天 解锁文章
1088

被折叠的 条评论
为什么被折叠?



