题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。
已抽签决定比赛名单。有人向队员打听比赛的名单。 a 说他不和 x 比, c 说他不和 x,z 比,
请编程序找出三队赛手的名单。
package test;
import java.util.ArrayList;
import java.util.List;
public class MyTest {
public static void main(String[] args) {
char[] aa={'a','b','c'};
char[] bb={'x','y','z'};
boolean aflag=true;
while (aflag) {
List m=new ArrayList();
List n=new ArrayList();
for (int i = 0; i < aa.length; i++) {
for (int j = 0; j < bb.length; j++) {
if (aa[i] == 'a' && bb[j] == 'x') {
continue;
} else if (aa[i] == 'c' && (bb[j] == 'x' || bb[j] == 'z')) {
continue;
}
n.add(aa[i]);
m.add(bb[j]);
}
}
for(int i=0;i<m.size();i++){
boolean flag=true;
for(int j=0;j<m.size();j++){
if(i==j){continue;}
if(m.get(i)==m.get(j)){
flag=false;
break;
}
}
if(!flag){
boolean q=true;
for(int j=0;j<n.size();j++){
if(i==j){continue;}
if(n.get(i)==n.get(j)){
q=false;
break;
}
}
if(q){flag=true;}
}
if(flag){
if(aa.length==1){
System.out.println(aa[0]+" vs "+bb[0]);
aflag=false;
break;}
char aqu=(char) n.get(i);
char xqu=(char) m.get(i);
System.out.println(aqu+" vs "+xqu);
char[] cc=new char[aa.length-1];
int index=0;
for(int k=0;k<aa.length;k++){
if(aqu!=aa[k]){
cc[index]=aa[k];
index++;
}
}
aa=cc.clone();
index=0;
for(int k=0;k<bb.length;k++){
if(xqu!=bb[k]){
cc[index]=bb[k];
index++;
}
}
bb=cc.clone();
break;
}
}
}
}
}