首页 > 编程 > Java > 正文

2016蓝桥杯A组java第四题

2019-11-08 03:09:26
字体:
来源:转载
供稿:网友
分小组9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DFI EGHABC DGH EFIABC DGI EFHABC DHI EFGABC EFG DHIABC EFH DGIABC EFI DGHABC EGH DFIABC EGI DFHABC EHI DFGABC FGH DEIABC FGI DEHABC FHI DEGABC GHI DEFABD CEF GHIABD CEG FHIABD CEH FGIABD CEI FGHABD CFG EHIABD CFH EGIABD CFI EGHABD CGH EFIABD CGI EFHABD CHI EFGABD EFG CHI..... (以下省略,总共560行)。public class A{public static String remain(int[] a){String s = "";for(int i=0; i<a.length; i++){if(a[i] == 0) s += (char)(i+'A');} return s;}public static void f(String s, int[] a){for(int i=0; i<a.length; i++){if(a[i]==1) continue;a[i] = 1;for(int j=i+1; j<a.length; j++){if(a[j]==1) continue;a[j]=1;for(int k=j+1; k<a.length; k++){if(a[k]==1) continue;a[k]=1;System.out.PRintln(s+" "+(char)(i+'A') + (char)(j+'A')+(char)(k+'A')+" "+remain(a));  //填空位置a[k]=0;}a[j]=0;}a[i] = 0;}}public static void main(String[] args){int[] a = new int[9];a[0] = 1;for(int b=1; b<a.length; b++){a[b] = 1;for(int c=b+1; c<a.length; c++){a[c] = 1;String s = "A" + (char)(b+'A') + (char)(c+'A');f(s,a);a[c] = 0;}a[b] = 0;}}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表