临近比赛,再来整理之前做的题目,才发现真的是麻烦,就剩下代码了,题目当初没写到注释上,也没坚持写博客吧。
网上搜了下是简单的逻辑推理题。
import java.util.Scanner;
public class Main {
/*
* 七个人中要抽出四个人去参加会议,要满足一定的条件,比如A去b要去,b去c不去之类的条件
* 问解法是解决的方案是怎样的
* 每个人有两种状态,去和不去,这就对应了0,1的状态,
* 利用暴力破解的方法将,七层循环,并且将条件转换为两个数的和相加
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long startTime = System.currentTimeMillis();
int a,b,c,d,e,f;
for(a =1;a>=0;a--)
for(b =1;b>=0;b--)
for(c =1;c>=0;c--)
for(d =1;d>=0;d--)
for(e =1;e>=0;e--)
for(f =1;f>=0;f--) {
if(a+b >= 1 && a+d!=2 && a+e+f==2 && (b+c ==0 || b+c==2) && c+d ==1 && (d+e ==0 || d==1)) {
System.out.println(a+" "+b+" "+c+" "+d+" "+e+" "+f);
}
}
long endTime = System.currentTimeMillis();
System.out.println(endTime-startTime);
}
}