最近几天伤病没有更新 今天好点 看了一下基础的算法 现在简单更新一下 ——穷举法
一、甲 、乙、丙 三位球迷分别预测进入半决赛的四队A、B、C、D的名次如下:
甲:A 第一名 、B 第二名
乙:C 第一名 、D 第三名
丙:D第一名 、 A 第三名
设比赛结果,四队互不相同,并且甲乙丙的预测各对一半,求A、B、C、D队的名次?
现在简单分析下
采用穷举法令变量a,b,c,d分别为四个名次:
* 方法一:前者正确,则后者错误,既(a==1)&&(b!=2)||(a!=1)&&(b==2)
* 方法二:两者不允许同时成立,既是条件a==1和b==2不允许相等。(a==1)!=(b==2)
public static void main(String[] args) {
int a,b,c,d;
boolean t;
//循环写出所有的可能
for (a=1; a <=4; a++) {
for ( b= 1; b<=4 ; b++) {
if (a==b) {
continue;
}
for (c = 1; c<=4; c++) {
if (c==a||c==b) {
continue;
}
d=10-a-b-c;
t=((a==1)&&(b!=2)||(a!=1)&&(b==2))
&&((c==1)&&(d!=3)||(c!=1)&&(d==3))&&((d==2)&&(a!=3)||(d!=2)&&(a==3));
if(t){
System.out.println("A="+a);
System.out.println("B="+b);
System.out.println("C="+c);
System.out.println("D="+d);
}
}
}
}
}
}