【计算机算法】递归——循环日程表
题目
设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。
输入格式
输入:M(M<=7)。
输出格式
输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。
输入样例
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
说明,第一行为:1 2 3 4 5 6 7
8,1表示本行都是1号选手和其他选手的比赛,如第2个数为2(其下标可以看成1)表示第一天1号和2号比赛,第5个数为5(其下标可以看成4),表示1号和5号在第4天比赛。
代码如下:
#include<iostream>
using namespace std;
int arr[1024][1024];
int fastPower(int base,int power) {int result = 1;while (power > 0) {if (power%2 == 1) {result = result * base % 1000;}power = power / 2;base = (base * base) % 1000;}return result;
}
void arrangement(int x,int y,int size){if(size == 1) return;arr[x + size / 2][y + size / 2] = arr[x][y];//对应点的值是一样的 arr[x][y + size / 2] = arr[x + size / 2][y] = arr[x][y] + size / 2;arrangement(x,y,size / 2);//安排左上角 arrangement(x + size / 2,y + size / 2,size / 2);//安排右下角arrangement(x,y + size / 2,size / 2);//安排右上角arrangement(x + size / 2,y,size / 2);//安排左下角
}
int main(){int M,i;cin>>M;int N = fastPower(2,M);//快速幂 for(i = 1;i <= N;i++){arr[i][1] = i;}arrangement(1,1,N);for(i = 1;i <= N;i++){for(int j = 1;j <= N;j++){cout<<arr[i][j]<<" ";}cout<<endl;}
}
【计算机算法】递归——循环日程表相关推荐
- 计算机算法设计与分析(第五版)---王晓冬--------前六章(递归与分治,动态规划,贪心算法,回溯法,)期末复习资料总结
--1-- 算法:解决问题的一种方法或者一个求解过程 是若干指令的序列 输入 输出 有限性 确定性 程序:用某种设计语言对算法的具体实现 可以不满足 有限性 程序 = 算法+数据结构 果子合并问题( ...
- 递归与分治策略算法之循环赛日程表
递归与分治策略算法之循环赛日程表 1.先简单的来介绍一下分治策略的思想 分治策略的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,分解出来的子问题与原问题相同,并且相互独立.通过递归去解决子 ...
- 计算机算法常用术语中英对照
1 第一部分.计算机算法常用术语中英对照2 Data Structures 基本数据结构3 Dictionaries 字典4 Priority Queues 堆5 Graph Data Structu ...
- 计算机算法对程序设计的作用,【程序设计论文】高中算法与程序设计教学意义及有效性(共3796字)...
摘要:算法和程序设计教学会加深学生对计算机科学的认识,使他们从游戏.聊天.打字.表格处理等对计算机工具作用的认识上升到计算机科学的高度上来,对学生的编程教育起到启蒙作用.笔者通过具体教学实例探讨在课程 ...
- 计算机算法设计与分析——算法引论
1.1 算法与程序 计算机算法 通俗定义:用计算机求解问题的方法或过程. 正式定义:算法是满足下述性质的 指令序列: 输入:有零个或多个外部量作为算法的输入 输出:至少产生一个量作为输出 确定性:组成 ...
- 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)
计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...
- c语言编程求导纳矩阵,电力系统短路故障的计算机算法程序设计
电力系统短路故障的计算机算法程序设计 电力系统分析课程设计报告书 题目: 电力系统短路故障的计算机算法程序设计 专 业:电气工程及其自动化 班 级: 学 号: 学生姓名: 指导教师: 2012年 3 ...
- 【编码经验】数据结构与语法规范、计算机算法、架构模式设计、代码重构
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录 前言 编码的三个层次 第一层:数据结构与语法规范层 0.clang-for ...
- 计算机算法的发展动态,计算机算法动态规划讲解.ppt
计算机算法动态规划讲解 * 0-1背包问题 设所给0-1背包问题的子问题 的最优值为m(i,j),即m(i,j)是背包容量为j,可选择物品为i,i+1,-,n时0-1背包问题的最优值.由0-1背包问题 ...
最新文章
- python计算身体质量指数_利用Python计算身体质量指数BMI来判断体型
- 华为SAP解决方案为海澜之家带来新的科技创新
- VTK:图片之ImageCheckerboard
- python支持list类型吗_Python-不支持的操作数类型为%:“list”和“int”
- CentOS SSH安装与配置
- android 集成同一interface不同泛型_【Java视频教程】day30-泛型??
- pads 文本不能修改_修改PDF文件很难?其实很简单,只是你少了一个好用的PDF编辑器...
- CUDA 和 GPU
- logo设计好坏的12个标准
- springboot整合rpc远程调用_SpringBoot—-JsonRpc跨语言远程调用协议 - Java天堂
- python numpy 中linspace函数
- 一些提供代理服务器IP列表的链接
- Android-Skin-Loader换肤框架剖析
- springboot之Result结果类处理
- python实现中考倒计时
- IDEA中文切换回英文
- 华为云Ubuntu16.04更新包管理工具卡住 0% [Connecting to archive.ubuntu.com (91.189.88.152)]
- 流媒体技术原理与应用
- 全球及中国连续性肾脏替代治疗机行业发展趋势及前景规划分析报告2022-2027
- windows 系统R配置默认多核运算