#include <iostream>
#include <string.h>
#include <math.h>
const int N = 80;
int a[N][N],b[N];
using namespace std;
int main()
{
int n, team, day;
cin >> n;
team = pow(2,n);
day = team - 1;
for(int i = 1; i <= day; i ++){
int cnt = 0;
printf("<%d>",i);
//将队伍重置
memset(b, 0, sizeof(b));
for(int j = 1; j <= team; j ++){
for(int k = j + 1; k <= team; k ++){
//如果没有被标记过就将其标记并输出
if(a[j][k]==0&&b[j]==0&&b[k]==0){
a[j][k] = b[j] = b[k] = 1;
printf("%d-%d",j,k);
cnt ++;
//判断需不需要输出逗号
if(cnt >= 1 && cnt < team / 2){
printf(",");
}
}
}
}
printf("\n");
}
return 0;
}
#70. 比赛安排(3月28日)
最新推荐文章于 2024-07-12 22:49:40 发布