离散数学三个老师任课问题——Java dfs实现

三个老师问题:已知 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值