循环赛日程表

发布时间:2024-12-21 15:05

发起旧物改造比赛,提倡循环利用 #生活乐趣# #日常生活乐趣# #环保生活实践# #环保教育活动#

循环赛日程表------分治算法

最新推荐文章于 2021-01-17 10:15:00 发布

九久呀 于 2019-06-10 15:38:07 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

【题目描述】

设有NN个选手进行循环比赛,其中N=2M2M,要求每名选手要与其他N−1N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1N−1天,要求每天没有选手轮空。

【输入】

输入:M。

【输出】

输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。

【输入样例】

3 【输出样例】

1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7 3 4 1 2 7 8 5 6 4 3 2 1 8 7 6 5 5 6 7 8 1 2 3 4 6 5 8 7 2 1 4 3 7 8 5 6 3 4 1 2 8 7 6 5 4 3 2 1

#include <bits/stdc++.h>

#define maxn 105

#define INF 99999999

using namespace std;

int mp[maxn][maxn];

int main()

{

int n,m,k=1,half=1;

cin>>m;

n=1<<m;

mp[1][1]=1;

while(k<=m)

{

for(int i=1; i<=half; i++)

{

for(int j=1; j<=half; j++)

{

mp[i][j+half]=mp[i][j]+half;

}

}

for(int i=1; i<=half; i++)

{

for(int j=1; j<=half; j++)

{

mp[i+half][j]=mp[i][j+half];

mp[i+half][j+half]=mp[i][j];

}

}

half*=2;

k++;

}

for(int i=1; i<=n; i++)

{

int f=1;

for(int j=1; j<=n; j++)

{

if(f)

f=0;

else

cout<<" ";

cout<<mp[i][j];

}

cout<<endl;

}

return 0;

}

网址:循环赛日程表 https://www.yuejiaxmz.com/news/view/532887

相关内容

【算法】网球循环赛比赛日程表
分治法解决循环赛日程表安排问题(C++)
为参加网球比赛的选手安排比赛日程。 设有n(n=2k)位选手参加网球循环赛,循环
F12024完整赛程时间表 2024F1中国大奖赛赛程时间表
材料工程学院举办“旧物循环,如春新生”环保创意手工大赛
中国女排2022年比赛日程表安排
构建循环经济新赛道
首届大学生低碳循环科技创新大赛 Low
用C语言程序进行比赛日程排列
绿色低碳循环 共生美好生活 | 创意手工染大赛来咯!快快报名~

随便看看