题目:两个乒乓球队进行比赛,各出三人。甲队为 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; } } } }}
新闻热点
疑难解答