/**问题描述
信息学院有四个专业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 static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 4; i++) {
array[i] = sc.nextInt();
}
search(tmp, 0);
if (
教室排课
最新推荐文章于 2024-03-17 17:15:27 发布