比赛安排
Posted shiaguang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比赛安排相关的知识,希望对你有一定的参考价值。
问题描述
设有有2 n(n<=6)个球队进行单循环比赛,计划在2 n – 1天内完成,每个队每天进行一场比赛。设计一个比赛的安排,使在2 n – 1天内每个队都与不同的对手比赛。
输入格式
输入文件matchplan.in共一行,输入n的数值。
输出格式
输出文件matchplan.out共(2 n – 1)行,第i行输出第i天的比赛安排。
格式为:<i> A-B,C-D,……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。
格式为:<i> A-B,C-D,……。其中i是天数,A,B分别为比赛双方的编号,每行共2 n-1个比赛场次。
样例输入
2
样例输出
<1>1-2,3-4
<2>1-3,2-4
<3>1-4,2-3
<2>1-3,2-4
<3>1-4,2-3
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s=new Scanner(System.in); int a[][]=new int[65][65]; int v[]=new int[65]; int n=s.nextInt(); //2的n次方 int len=(int) Math.pow(2,n); for(int i=1;i<=len-1;i++) { Arrays.fill(v,0); System.out.print("<"+i+">"); for (int j = 1; j <= len / 2; j++) { for (int k = 1; k <= len; k++) { if (v[k] == 1) continue; for (int h = 1; h <= len; h++) { if (h == k) continue; if (v[h] == 1) continue; if (a[h][k] == 0 && a[k][h] == 0) { System.out.print(k + "-" + h + " "); v[k] = 1; v[h] = 1; a[k][h] = 1; a[h][k] = 1; break; } } } } System.out.println(); } } }
以上是关于比赛安排的主要内容,如果未能解决你的问题,请参考以下文章