【题目描述】

设有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;elsecout<<" ";cout<<mp[i][j];}cout<<endl;}return 0;
}

循环赛日程表------分治算法相关推荐

  1. c语言 循环赛日程表 n=2^k,循环赛日程表分治算法(c语言)

    /* * 设有n=2k个运动员要进行网球循环赛.现要设计一个满足以下要求的比赛日程表: * 每个选手必须与其他n-1个选手各赛一次: * 每个选手一天只能参赛一次: * 循环赛在n-1天内结束. * ...

  2. 用递归与分治策略求解网球循环赛日程表_算法设计:分治法(比赛日程安排)...

    一.算法思路 1.思路 分治算法的思想是:对于一个规模位N的问题,若该问题可以容易解决(比如规模N较小),则直接解决,否则将其分解为M个规模较小的子问题,这些子问题互相独立,并且与原问题形式相同,递归 ...

  3. 任意人数的循环赛日程表 分治 非分治 c++

    循环赛日程表 要求 设计一个满足以下要求的比赛日程表: 每个选手必须与其他n-1个选手各赛一次: 每个选手一天只能赛一次: 当n是偶数时,循环赛进行n-1天,当n是奇数时,循环赛进行n天: 举例 4位 ...

  4. 循环赛日程表分治递归求解

    设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次: (2)每个选手一天只能赛一次: (3)循环赛一共进行n-1天. 按分治策略,将所有的选手分为两半,n个选手的比赛日程 ...

  5. 网球循环赛分治算法c语言,【算法作业】 循环赛问题 分治算法

    题目: 设有N个运动员要进行网球循环赛,设计一个满足以下要求的比赛日程表 (1)每个选手必须与其他n-1个选手各赛一次 (2)每个选手一天只能赛一次 (3)当n是偶数,循环赛进行n-1天,当n是奇数, ...

  6. 循环赛日程表 分治(超详细注释!!!)

    设有n=2k个运动员要进行网球循环赛.现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次: (2)每个选手一天只能赛一次: (3)循环赛一共进行n-1天. answe ...

  7. 3.2.4循环赛日程表(递归与分治)

    目录 1.问题描述 2.算法分析 算法 3.摘要 参考书籍 1.问题描述 设有个运动员要进行网球循环赛. 现要设计一个满足以下要求的比赛日程表. (1)每个选手必须与其他个选手各比赛一次: (2)每个 ...

  8. 分治算法 —— 循环赛日程表

    1. 问题描述: 设有n=2^k个运动员要进行网球循环赛.现要设计一个满足以下要求的比赛日程表: (1)每个选手必须与其他n-1个选手各赛一次: (2)每个选手一天只能参赛一次: (3)循环赛在n-1 ...

  9. 递归与分治策略算法之循环赛日程表

    递归与分治策略算法之循环赛日程表 1.先简单的来介绍一下分治策略的思想 分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立.通过递归去解决子 ...

最新文章

  1. 连接centos7桌面方法
  2. 杨辉再发声明:没有及时交流工作进展,深表歉意
  3. java无法编译_Java静态方法无法编译
  4. this指向总结(无栗子)
  5. 浅谈Linux中的信号处理机制(三)
  6. Eclipse如何从SVN更新和上传修改部分项目
  7. 第一章 打开MVC4的大门:(一)了解MVC
  8. Mac下的Mysql无法登陆的问题
  9. Windows安全配置加固
  10. html5设置视频显示第一帧,如何检测HTML5视频何时播放第一帧?
  11. Linux 进程后台运行
  12. oracle number长度转换,Oracle Number型数值存储与转换的实现详解
  13. python半径为2.11的圆球的体积_python 学习笔记 11 -- 使用参数使你的程序变得更性感...
  14. 程序员梗_那些程序员才懂的梗,看到第10张笑喷了,网友:太真实了
  15. linux免杀工具,安卓Apk免杀工具:backdoor-apk 教程
  16. c语言编程定义符号,C语言:条件编译及预定义符号知识详解
  17. D轮融资1亿美金,6亿美金估值,3位计算机学霸如何带领海归团队创造业内神话?!...
  18. 二项分布(一种离散分布)
  19. 关于花瓣网header条的思考
  20. H3C网络故障排除方法

热门文章

  1. RJ45 以太网接口
  2. ARM/DSP+FPGA运动控制机器视觉控制器方案定制
  3. Huffman编码与译码
  4. 单片机滤波算法之一阶滤波
  5. netsh命令的详解
  6. 面向对象与面向过程最本质的区别
  7. 旧版疯狂的松鼠nuts android版,疯狂的松鼠 -疯狂的松鼠 攻略-疯狂的松鼠 安卓_苹果_iOS下载_礼包_开服_新闻-07073手机游戏...
  8. CATIA启动速度加快小技巧
  9. 51单片机STC89C52点亮一个LED(IO口的位操作)
  10. python做上位机容易学吗_python做上位机