计算机算法分析与设计(3)---循环赛日程表(含代C++码)

news2024/11/26 23:50:01

循环赛日程表

  • 一、内容概述
  • 二、代码实现
    • 2.1 分治代码
    • 2.2 结果图


一、内容概述

在这里插入图片描述

二、代码实现

2.1 分治代码

// 循环赛日程表
#include<iostream>
#include<cmath>
using namespace std;

void schedule(int k, int n, int** array)   // 数组下标从1开始
{
    for (int i = 1; i <= n; i++)  // 第一行排1-n
        array[1][i] = i;

    int m = 1;  // 用来控制每一次填表时i行j列的起始填充位置

    for (int s = 1; s <= k; s++)  // k指分成k大部分进行填充日程表;s指第几大部分
    {
        n = n / 2;
        for (int t = 1; t <= n; t++)  // 第s部分内的循环
        {
            for (int i = m + 1; i <= 2 * m; i++) // 行
            {
                for (int j = m + 1; j <= 2 * m; j++) // 列
                {
                    array[i][j + (t - 1) * m * 2] = array[i - m][j + (t - 1) * m * 2 - m];       //左上角等于右下角的值
                    array[i][j + (t - 1) * m * 2 - m] = array[i - m][j + (t - 1) * m * 2];       //左下角等于右上角的值
                }

            }

        }
        m *= 2;
    }

}

int main()
{
    int k;  // 运动员的人数n=2^k
    cout << "运动员的人数为n(n=2^k),请输入k的值:";
    cin >> k;
    int n = pow(2, k);  // 运动员的人数n=2^k

    int** array = new int* [n + 1]; // 循环赛日程表
    for (int i = 0; i < n + 1; i++)
        array[i] = new int[n + 1];

    // 填充日程表
    schedule(k, n, array);

    // 输出日程表
    cout << "\n循环赛日程表为:\n";
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
            cout << array[i][j] << " ";
        cout << "\n";
    }

    // 删除二维数组
    for (int i = 0; i < n + 1; i++)
        delete[] array[i];
    delete[] array;
    return 0;
}

2.2 结果图

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【操作系统】聊聊文件系统是如何工作的

文件系统其实是操作系统中存储的核心、计算、网络。除了使用寄存器、内存可以临时存储数据&#xff0c;使用磁盘持久化存储更重要。 磁盘为系统提供了数据持久化功能。文件系统在磁盘的基础上&#xff0c;抽象出了一个管理文件的树状结构 索引节点和目录项 Linux中一切皆是文…

HTTP请求、响应详解

目录 一、HTTP请求详解 1.1 认识请求“报头”&#xff08;header&#xff09; 1.2 认识请求“正文”&#xff08;body&#xff09; 1.2.1 application/x-www-form-urlencoded 1.2.2 multipart/form-data 1.2.3 application/json 二、HTTP响应详解 2.1 认识状态码 2.2 认识响…

Centos7配置国内yum源

目录 备份原系统中的repo文件配置国内开源镜像重新生成yum缓存 备份原系统中的repo文件 cd /etc/yum.repos.d/mkdir repo_bakmv *.repo repo_bak/配置国内开源镜像 到网易和阿里开源镜像站点下载系统对应版本的repo文件 curl -O http://mirrors.aliyun.com/repo/Centos-7.re…

com.google.gson.internal.LinkedTreeMap cannot be cast to XXX

起因是在对google商品做本地缓存时&#xff0c;上线后发现的bug 刚开始非常自信&#xff0c;debug没问题线上有问题&#xff0c;大概率就是混淆文件没有添加keep&#xff0c;于是本地添加对SDK中类的keep&#xff0c;本地打包release验证&#xff0c;不出意外还是崩溃 仔细看…

GEE:Bfast时间序列扰动检测

本文记录了 Google Earth Engine &#xff08;GEE&#xff09; 上 Bfast 时间序列检测的APP和gitHub链接。 文章目录 一、APP Bfast APP&#xff1a; [https://andreim.users.earthengine.app/view/bfastmonitor](https://andreim.users.earthengine.app/view/bfastmonitor)git…

C语言——通讯录管理系统

通讯录管理系统项目简介 功能说明 控制台黑窗口实现程序需要满足以下几个功能 程序开始运行时首先显示选择菜单界面&#xff0c;根据用户输入确定实现何种功能 程序界面 代码实现 多文件实现 和之前写的实战项目类似&#xff0c;这里同样采用多文件实现的方式 多文件写代码…

5G先锋开道,护航出行安全

“道路千万条&#xff0c;安全第一条”。 交通作为城市生命线“主动脉”&#xff0c;承载着助推经济发展的重要使命。构建“预、防、治”全周期交通管理&#xff0c;推进城市精细化管理刻不容缓。 为全面加强交通安全监管体系&#xff0c;天津某交管局决策对新区街道4000多个路…

计算机二级-简单应用题

题目要求 编写代码&#xff0c;以实现如下功能&#xff1a; 键盘输入小明学习的课程名称及考分等信息&#xff0c;信息间采用空格分隔&#xff0c;每个课程一行&#xff0c;空行回车结束录入&#xff0c;示例格式如下&#xff1a; 数学 90 语文 95 英语 86 物理 84 生物 87 屏幕…

(二)随机变量的数字特征:探索概率分布的关键指标

文章目录 &#x1f34b;1. 随机变量的数学期望&#x1f34b;1.1 离散型随机变量的数学期望&#x1f34b;1.2 连续型随机变量的数学期望 &#x1f34b;2. 随机变量函数的数学期望&#x1f34b;2.1 一维随机变量函数的数学期望&#x1f34b;2.2 二维随机变量函数的数学期望 &…

机器学习算法基础--逻辑回归

目录 1.数据收集及处理 2.数据提取及可视化 3.逻辑回归训练样本并且测试 4.绘制散点决策边界 逻辑回归的方法已经在数学建模里面讲过了&#xff0c;这里就不多讲了。 本篇我们主要是利用逻辑回归的方法来求解分类问题。 1.数据获取及处理 import pandas as pd from sklearn…

蓝桥杯2023年第十四届省赛真题-像素放置

目录 蓝桥杯2023年第十四届省赛真题-像素放置 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 大家觉得写得可以的话&#xff0c;可以加入QQ群907575059. 蓝桥杯2023年第十四届省赛真题-像素放置 时间限制: 3s 内存限制: 320MB 提交:…

QT--day3

2> 完成文本编辑器的保存工作 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_fontbtn_cl…

uniapp 实现不同用户展示不同的tabbar(底部导航栏)

一、背景 最近在做一个uniapp开发的小程序遇到一个需求&#xff0c;希望不同用户登录后展示不同的tabbar页面&#xff0c;但是uniapp项目中的pages.json是只有一个list数组的&#xff0c;并且是不能写成动态效果&#xff0c;为了实现这个需求&#xff0c;便自定义了tabbar组件 …

一文读懂SSL、TLS和mTLS的通信安全协议

今天让我们深入探讨一下SSL、TLS和mTLS等一系列重要的通信安全协议。尽管从整体系统设计的角度来看,这个主题可能并不是至关重要,但仍然值得我们深入了解。 1. SSL协议 SSL,即安全套接字层(Secure Socket Layer),是一种通信协议,旨在加密和保护互联网通信的安全性。虽…

从业二十年的测试工程师今天给大家分享postman的使用技巧以及快捷键的精髓

一、Postman是什么 Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。 二、Postman安装 官网下载(FQ) Download Postman | Get Started for Free 三、Postman常用功能 安装好之后&#xff0c;我们先打开…

React(react18)中组件通信03——简单使用 Context 深层传递参数

React&#xff08;react18&#xff09;中组件通信03——简单使用 Context 深层传递参数 1. 前言1.1 React中组件通信的其他方式1.2 引出 Context 2. 简单例子3. 语法说明3.1 createContext(defaultValue)3.2 value3.3 useContext(SomeContext) 4. 总结4.1 Context4.1.1 Context…

【Java 基础篇】Java transient 关键字详解:对象序列化与非序列化字段

在 Java 编程中&#xff0c;我们经常需要将对象序列化为字节流以便于存储或传输&#xff0c;或者将字节流反序列化为对象以恢复其状态。然而&#xff0c;并不是所有对象的所有属性都应该被序列化。有些属性可能包含敏感信息&#xff0c;或者它们只在内存中有意义。在这些情况下…

每日练习-7

目录 一、选择题 二、算法题 1、两种排序方法 2、求最小公倍数 一、选择题 1、 解析&#xff1a; 指针和引用是C中两种不同的变量类型&#xff0c;它们都可以用来访问或修改其他变量的值&#xff0c;但是它们有以下几个区别&#xff1a; 引用必须在定义时初始化&#xff0c…

Terminnal will be login out after 20 second

锐捷交换机&#xff0c;命令敲着敲着 &#xff0c;就提示20秒后将中断 &#xff0c;show ip ssh 查看也一下也没有什么特殊的。 于是查看了一下VTY下的配置 absolute-timeout 5 ,这句话是什么意思呢 &#xff1f; 5分钟强制退出 &#xff01; 改进方法&#xff1a; (config)#…

为什么企业要选择使用报修工单管理系统?

报修管理系统是一种强大的工具&#xff0c;它为企业提供了一种方便、高效的方式来报告设备故障和异常情况&#xff0c;以便及时地反馈给相关的人员。这种系统不仅可以帮助企业更好地管理和跟踪设备的维护和维修工作情况&#xff0c;还可以对所有的维修信息进行统计和分析&#…