循环日程安排问题(分治法)

在这里插入图片描述
函数接口定义:
void Plan(int a[][N],int k);
裁判测试程序样例:
#include
#include <math.h>
#include
using namespace std;
#define N 100

void Plan(int a[][N],int k);

int main()
{ int i,j,a[N][N],k,size;
cin>>k;
size=pow(2,k);
Plan(a,k);
for(i=1;i<=size;i++){
for(j=1;j<=size;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;

}

/* 请在这里填写答案 */

输入样例:

输入K值。

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

idea

  • 满足需求的日程表规律:若日程表划分为四个相同规模的四部分,则对角的两部分相同,左右相邻的两部分相差子部分边长大小
    =>属于可以划分为子问题的类型,当只有一个选手时为递归出口
    右上角 = 左上角 + 子部分边长(相邻关系)
    左下角 = 右上角(对角关系)
    右下角 = 左上角 (对角关系)

solution

void Plan(int a[][N],int k){if(k == 0){a[1][1] = 1;return ;};Plan(a, k - 1);int n = 1;for(int i = 0; i < k; i++)n *= 2;int size = n / 2;for(int i = 1; i <= size; i++){for(int j = 1; j <= size; j++){a[i][j + size] = a[i][j] + size;a[i + size][j] = a[i][j + size];a[i + size][j + size] = a[i][j];}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/139412.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCB布线时如何保证100M以上信号的稳定性?

PCB布线时是电子工程中非常重要的环节&#xff0c;对于保证信号的稳定性和完整性至关重要&#xff0c;若电子工程师遇上100M以上信号的布线需求&#xff0c;该如何设计来保证其稳定性&#xff1f;下面或许能给你些参考。 1、选择合适的传输介质 对高速信号&#xff0c;选择合适…

JWT越权访问漏洞

JWT越权访问漏洞 文章目录 JWT越权访问漏洞原文参考 :[xiu](http://www.xiusafe.com/2023/02/08/JWT/)1 靶场搭建:2 JWT的头部组成2.1 头部2.1.1 alg:2.1.2 type: 2.2 payload2.3 签名 3 漏洞复现3.1 攻击点token&#xff08;第三关&#xff09;3.2 对token值base64的加密码方式…

【yolov5目标检测】使用yolov5训练自己的训练集

数据集准备 首先得准备好数据集&#xff0c;你的数据集至少包含images和labels&#xff0c;严格来说你的images应该包含训练集train、验证集val和测试集test&#xff0c;不过为了简单说明使用步骤&#xff0c;其中test可以不要&#xff0c;val和train可以用同一个&#xff0c;…

【学习笔记】RabbitMQ-6 消息的可靠性投递2

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 十一、队列Queue的消息属性11.1 具体属性11.2 自动删除11.2 自定义参数11.2.1 **Message TTL** 消息存活时间11.2.2 **Auto expire** 队列自动到期时间11.2.3 **Overflow behaviour** 溢出行为11.2.4…

『C语言进阶』const详解

&#x1f525;博客主页&#xff1a; 小羊失眠啦 &#x1f516;系列专栏&#xff1a; C语言、Linux &#x1f325;️每日语录&#xff1a;生活便是寻求新的知识。 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 一、什么是const 常类型&#xff0c;使用类型修饰符const说明的类…

【数字图像处理笔记】01-数字图像基础

01-数字图像基础 图像类型 黑白(二值)图像 只有黑白两种颜色的图像称为黑白图像或单色图像&#xff0c;图像的每个像素只能是黑或白&#xff0c;没有中间的过渡&#xff0c;故又称为二值图像。 二值图像的像素值只能为0或1&#xff0c;图像中的每个像素值用1位存储。图像矩阵中…

【2023研电赛】全国技术竞赛一等奖:基于FPGA的超低时延激光多媒体终端

该作品参与极术社区组织的研电赛作品征集活动&#xff0c;欢迎同学们投稿&#xff0c;获取作品传播推广&#xff0c;并有丰富礼品哦~ 基于FPGA的超低时延激光多媒体终端 参赛单位&#xff1a;华东师范大学 指导老师&#xff1a;刁盛锡 参赛队员&#xff1a;王泽宇 谢祖炜 秦子淇…

绝对详细的MyBatis代码生成器讲解

0.简介 在springboot工程中如果使用mybatis作为持久层框架&#xff0c;那必须知道如何自动生成 java 实体类、dao 层接口&#xff08;mapper 接口&#xff09;及mapper.xml文件&#xff0c;这样可以减少不必要的开发。 生成代码的方式有很多种&#xff0c;比如说利用idea的插…

线性回归全解析: 从基础理论到 Python 实现

机器学习 第四课 线性回归 概述什么是线性回归?关键概念因变量自变量线性关系 基本的线性方程表达式理解多变量回归 误差项和损失函数误差项均方误差 (MSE) 最小二乘法什么是最小二乘法最小二乘法思想详细推导 线性回归的模型假设线性关系独立性同方差性正态分布误差 梯度下降…

基于SVM+Webdriver的智能NBA常规赛与季后赛结果预测系统——机器学习算法应用(含python、ipynb工程源码)+所有数据集(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 特征提取1&#xff09;常规赛特征提取2&#xff09;季后赛特征提取&#xff08;1&#xff09;常规赛球队得分&#xff08;2&#xff09;球员、教练数据及数据整合 相关其它博客工程源代码下载其它资…

论文解析-moETM-多组学整合模型

论文解析-moETM 参考亮点动机发展现状现存问题 功能方法Encoder改进Decoder改进 评价指标生物保守性批次效应移除 实验设置结果多组学数据整合cell-topic mixture可解释性组学翻译性能评估RNA转录本、表面蛋白、染色质可及域调控关系研究1. 验证同一主题下&#xff0c;top gene…

mac电脑文献管理 EndNote 21最新 for Mac

EndNote 21 Mac版不仅能够快速有效的的帮助用户管理自己的文献&#xff0c;而且还可以用来创建个人参考文献库&#xff0c;添加各种文本&#xff0c;图像&#xff0c;连接&#xff0c;表格等等内容&#xff01; - 搜索数百个在线资源以获取参考和PDF - 只需点击一下即可查找参…