三个老师问题:已知 A,B,C 3 人是小学老师,各教两门课,互不重复,共有
如下六门课。语文、数学、政治、地理、音乐和美术,已经知道:
–政治老师和数学老师是邻居
–地理老师比语文老师年龄大
–B 最年轻
–A 经常给地理老师和数学老师讲他看过的文学作品
–B 经常和音乐老师、语文老师一起游泳
要求:编程判断 A,B,C 各教哪门课
离散数学布置的上机题,网上大多是6个for循环,这里提供我的思路仅供参考。
package 离散数学;
//0语文 1数学 2政治 3地理 4音乐 5美术
import java.util.ArrayList;
public class 老师任课问题 {
static String str[] = {"语文课","数学课","政治课","地理课","音乐课","美术课"};
static char tc[] = {'A','B','C'};//便于输出结果
static int lesson[] = new int [6];//六门课
static int teacher[] = new int [3];//标记老师是否教了两门课
static ArrayList<Integer> arr = new ArrayList<>();//存储结果
static void dfs(int index) {
if( index == 6) {//六门课搜索完毕,截止条件
if(lesson[2] != lesson[1] && lesson[3] != lesson[0] && lesson[3] != lesson[1] && lesson[3