(1151): 循环比赛

强网杯S8实战解析:从签到到RSA的完整解题思路 本文详细解析了强网杯S8 CTF比赛的实战解题过程,涵盖从签到题到RSA密码学、Web漏洞利用及逆向工程等核心题型。重点分享了如何通过AI优化脚本高效解决RSA难题,并深入剖析了代码审计、SQL注入与SSTI组合利用等关键技术,为参赛者提供了一套完整的解题思路与方法论。 阅读详情

时间限制: 1 Sec  内存限制: 64 MB

题目描述

设有n个选手的循环比赛。其中n=2的m次方。要求每名选手要与其他n-1名选手都赛一次。每名选手至少每天比赛一次,循环赛共进行了n-1天,要求每天没有选手轮空。 输入:m 输出:表格形式的比赛安排表。

输入

第1行:1个整数M(1<=M<=8)

输出

N(N=2^M)-1天的比赛安排表。数据以N*N的矩阵形式输出。每行的两个整数之间用一个空格分开。

样例输入

Copy (如果复制到控制台无换行,可以先粘贴到文本编辑器,再复制)

2

样例输出

1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1

既然它被放在了分治作业中,那么这就是一道分治题= =

问题来了,分治?

“分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。”

------------------copied from baidu

细细一看可以发现,把每个正方形分成四个小正方形,左下角和右上角相同,右下角和左上角相同~

于是,详见代码。

#include<cstdio>
int n,m,a[260][260];
void fz(int l,int x1,int x2,int y1,int y2,int dr)
{
    int i,j;
    if((dr==2||dr==1)&&l==2)
    {
        a[x1][y1]=y1;a[x1][y2]=y2;a[x2][y1]=y2;a[x2][y2]=y1;
        return;
    }
    if(dr==3)
    {
        for(i=x1;i<=x2;i++)
            for(j=y1;j<=y2;j++)
                a[i][j]=a[i-l][j-l];
        return;
    }
    if(dr==4)
    {
        for(i=x1;i<=x2;i++)
            for(j=y1;j<=y2;j++)
                a[i][j]=a[i-l][j+l];
        return;
    }
    fz(l/2,x1,x1+l/2-1,y1,y1+l/2-1,1);
    fz(l/2,x1,x1+l/2-1,y1+l/2,y1+l-1,2);
    fz(l/2,x1+l/2,x1+l-1,y1,y1+l/2-1,4);
    fz(l/2,x1+l/2,x1+l-1,y1+l/2,y1+l-1,3);
}
int main()
{
    int i,j;
    scanf("%d",&m);
    n=1<<m;
    fz(n,1,n,1,n,1);
    for(i=1;i<=n;i++)
    {
        for(j=1;j<n;j++)
            printf("%d ",a[i][j]);
        printf("%d\n",a[i][j]);
    }
}
/**************************************************************
    Problem: 1151
    User: C20172037dza
    Language: C++
    Result: 正确
    Time:1 ms
    Memory:1292 kb
****************************************************************/


话说明天就月考了好方啊QAQ

顺便说一下,l==2改为l==1,然后a[x1][y1]=y1应该也可以,没提交过。。

再顺便说一下dr的取值,1左上,2右上,3右下,4左下...

 

再然后,我讲完了。。。。

NOIP2018提高组初赛题目+解析 全国青少年计算机程序设计大赛究竟何时创办? 前缀与后缀为何混淆不清? Catalan数到底表示什么? 是什么让一台只有红蓝两色球的抽奖机如此火爆? 关机的手机究竟能否带进考场? 负权回路与Dijkstra算法有什么不为人知的关系? 图灵奖到底是哪方设立? 四人郊游为何只有两人如约? 是什么让++cnt陷入无意义的循环? 双向链表究竟是何方神圣? 小猪又为何在两家商店间因巨额消费徘徊不定? 欢迎来... 阅读详情

相关推荐

关于ACM的入门的几点建议

刷山东理工大j和杭州电子科技大学oj中的水题,各100道。 山东理工大学 专题一 – 顺序结构设计(17/7+10) 基础 1000 1110 1111 1113 1115 1116 1203 拓展 1167 1189 1207 1208 1112 1114 1151 1152 1155 1156 专题二 – 选择结构设计 (16/5+11) 基础 1117 1154 1118 1580 1160...

qlgydx的博客 580

分治法 —— 循环比赛日程安排表

循环比赛日常安排表题目描述提示题目解题Code 递推Code 递归结语 题目描述 设有n个选手进行循环比赛,其中n = 2^m,要求每名选手要与其他n - 1名选手都赛一次,每名选手每天比赛一次,循环赛共进行n - 1天,要求每天没有选手轮空。 输入 一行,包含一个正整数m。 输出 表格形式的比赛安排表(n行n列),每个选手的编号占三个字符宽度,右对齐。 样例输入 Copy 3 样例输出 Copy 1 2 3 4 5 6 7 8 2 1 4 3 6 5 8 7 3 4 1

重燃2020!!! 1997

【7-5 循环日程表】设有N个选手进行循环比赛,其中N=2 M ,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。

(https://pintia.cn/problem-sets/1433281645203116032/problems/1437018860810612736) #include<iostream> #include<cmath> using namespace std; int a[1000][1000]; void f(int k,int n) { if(n==2) { a[k][1]=k; a[k][2]=k+1; a[k+1][1]=k+1; a[k+1

Reasonzzz的博客 1936

循环比赛日程表 (分治)

题目描述 设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1天,要求每天没有选手轮空。 输入 M(1 输出 表格形式的比赛安排表,每个数占3列。 输入样例 1 输出样例   1  2  3  4  5  6  7  8

aaakirito的博客 1177

【信息科学与工程学】【数据科学】数据科学领域-第三篇 数学基础04 集合论02

编号类型概念类别概念名称数学定义/描述数学表示性质特征重要特例相关理论问题的数学分析参数列表及参数数值范围关联知识1基础集合论本体集合若干确定的、互不相同的对象的总体A,B,…确定性、互异性、无序性∅,N,RZFC 公理系元素归属判定 x∈A势 ∥A∥∈{finite}∪[ℵ0​,+∞)朴素集合论→公理化2基础集合运算并/交/差/补按逻辑联结词定义的集合操作A∪B,A∩B,A∖B交换律、结合律、分配律、De MorganA∪∅=A布尔代数多集合推广 ⋃i∈I​Ai​I为指标集,可数/不可数测度论3基础构造幂

weixin_49199313的博客 371

WinFrom真入门(1)——Windows窗体应用概念

用Winform开发的桌面程序,是在Windows操作系统上运行的,这个不用多说。窗体(Form)的作用‌:窗体是用户交互的容器,承载按钮、文本框等控件,构成应用程序的界面‌。在Windows操作系统中,窗体(窗口)所处可见,例如: 一个标准的窗体其实就是一块矩形区域,客户区域指的是窗口内部区域。除去标题兰和边框外的区域可视为内部区域,称为客户区域。我们开发人员可以在窗口的客户区域中放置控件,也可以在其中绘制出咱们所需要的图形。WinForm程序的项目的结构,如下图: Main()方法是程序的入口,这几行代

ByteGeek 1634

循环日程表 (分治法)

设有N个选手进行循环比赛,其中N=2^M ,要求每名选手要与其他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

zp1455604302的博客 987

Modelsim安装教程以及管理员身份运行patch_dll.bat时找不到文件mgls.dll的解决

Modesim安装教程 Modesim版本有很多,但是安装方式大都相同,我们以modesim.10.5为例,电脑使用的是win10 64位,讲一下安装过程中的步骤以及出现问题的解决方法 一 安装 1.首先解压安装包,在解压的安装包内选择应用程序,右键选择管理员运行。 2.稍等一会,有的电脑会弹出是否允许modesim进行更改,选择 是 即可,然后出现下面的界面,点击下一步。 3.弹出此界面选择安装路径,选择安装路径,我是在D盘新建的文件夹,直接把文件夹中的路径复制在框内。文件夹名称切记不要带中文 4.

weixin_48564372的博客 1万+

PTA 6 循环日程表

问题: 设有N个选手进行循环比赛,其中N=2^​M ,要求每名选手要与其他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

qwqc262的博客 578

搭建PX4开发系统(Ubuntu 22.04)

本文是《从零开始学 PX4 无人机开发》系列第二篇,适合开发者在 Ubuntu 系统下快速搭建 PX4 编译与仿真环境,支持 QGroundControl、Gazebo、MAVSDK 等完整工具链。

qq_15856721的博客 4203

axi时序图_(AXI)握手协议(pvld/prdy或者valid-ready)中ready打拍技巧

内容提要ready打拍的问题用FIFO的思路去解决用Buffer的思路去解决问题提出:ready时序如何优化?在valid/ready 握手协议中,valid 与 data的时序优化比较容易理解,(不熟悉valid/ready协议或者valid打拍方法的)大家可以参考上次推送(握手协议(pvld/prdy或者valid-ready或AXI)中Valid及data打拍技巧)。 但是有时候,关键路径是...

weixin_29763641的博客 3325

2020-11-25

学习小结 循环日程表 (20分) 设有N个选手进行循环比赛,其中N=2 ​M ​​ ,要求每名选手要与其他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

qq_47873808的博客 801

innovus:set_clock_latency与insertion_delay

当1ns clock latency设置在capture上,在report_timing报告中体现在other end arrival time以及capture clock path的Arrival Time上。因为-1ns的insertion delay存在,所以skew group报告中显示的Arrival (ns)是减1ns的结果,即1.819-1=0.819 ns。CTS阶段create_ccopt_clock_tree_spec之后,spec中会产生对应的insertion_delay命令。

m0_61544122的博客 1621

Codeforces 1151C Problem for Nazar

大意: 给定一个无限长的序列, 求区间和. 这题比赛的时候改半天没改出来, 以后做这种模拟应该把思路理清再写. 就是利用分块的思想, 预处理出每一块的和, 再询问时用中间整块的和加上左右部分块的和. #include <iostream> #include <algorithm> #include <cstdio> #inc...

weixin_30906671的博客 163

基于LUT表对鱼眼图像进行畸变校正

当然也可以进行图像的畸变校正操作,已知相机的焦距为fx/fy,光心为cx/cy,像素大小为p(单位mm/pixel)对于畸变校正结果图中像素点(u,v),其对应的原图中的像素坐标(u',v')的计算流程描述如下。1)假设无畸变相机成像模型的焦距和光心与原相机相同,计算得到无畸变相机成像模型中归一化平面坐标(X,Y,Z),其中X=(u-cx)/fx,Y=(v-cy)/fy,Z=1。这里x'/y'的单位为像素。

On my way 639

第7章: MMU notifier在AMD GPU驱动中的应用

AMD GPU驱动利用MMU Interval Notifier机制实现共享虚拟内存(SVM)和异构内存管理(HMM)。通过分析AMDGPU内存架构(VRAM、GTT、Userptr)和Buffer Object设计,重点探讨了Userptr零拷贝机制如何依赖MMU notifier保持CPU/GPU内存一致性。HMM框架进一步实现统一地址空间和透明页面迁移,AMDGPU通过amdgpu_hmm.c实现两种invalidate回调(GFX和HSA模式),处理不同场景下的内存失效同步问题。

图形/计算GPU的驱动与虚拟化技术分享园地 2473

【枚举】洛谷 P1151 子数整数

题目描述对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:sub1=a1a2a3sub2=a2a3a4sub3=a3a4a5例如,五位数20207可以拆分成sub1=202sub2=020(=20)sub3=207现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。输入输出格式输入格式:

。。。。 1231

塔石DTU通过MQTT传递数据教程

塔石通过MQTT通讯上传ADL400电表用电量。

renkai721的专栏 254

ACM大学生程序设计竞赛在线题库最新精选题解(赵端阳)解析

在线OJ题库部分解析 主要练习书中ZOJ,HDOJ。 章节(不定时更新)在线OJ题库部分解析前言第1章基础编程技巧题第2章模拟编程技巧题更新线 前言 本书介绍:ACM大学生程序设计竞赛在线题库最新精选题解 说实话我觉得新手确实需要一份刷题单,带解析那种。我个人也是新手才开这本书的题,连续追更中……我觉得写完读别人代码有很大提升,但是看题解大多数oj并不支持阅读其他人ac代码,而且很难找到优秀的代码。这本书给的代码让我学会很多奇巧淫技 。 洛谷题单还行就是不太循序渐进而且刷的题太多。这本书题单大多不错而

长门yuki 8310

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

算法竞赛中的数学 习题集1571-1580(10题)

算法竞赛中的数学 习题集1571-1580(10题)

青少年趣味编程 877

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

[OI笔记]每周刷题记录

一些题库: bzoj、uoj、luogu(洛谷)、CF、loj、hdu、poj、51nod 下面是一些近期的做题记录 省选爆炸…然后大概就先这样了,要回去读一段时间文化课,如果文化课还不错的话也许还会回来… 2018.2.25 ·【bzoj1257】余数之和-数学(根号求和) ·【loj6006】「网络流 24 题」试题库-最大流 ·【bz...

2590

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

龙芯1b(LS1B200)使用LVGL7.0.1组件的初次体验

LVGL库需要设置好屏幕的分辨率,我使用的是4.3寸LCD横屏的触摸屏(龙芯驱动库只有竖屏,还需要修改驱动)由比赛入坑龙芯1b(LS1B200),需要对板上驱动进行开发,使用LVGL库来做UI界面控制驱动。注:由于使用的是4.3LCD横屏,龙芯只自带了竖屏触摸驱动,获取触点坐标与实际不符合,还需修改。由于龙芯已经为我们写好了一些驱动配置,有些可以直接使用,有些则需要进行修改。定时器中断中(优先级低于lv_tick_inc())

qq_60214683的博客 4197

打codeforces时出现的沙雕错误

Codeforces Round #554 (Div. 2) B. Neko Performs Cat Furrier Transform 思路:题中数据范围最大不超过1e6,化为二进制长度不超过20位,所以可以每次把最靠近最高位的0变成1,直接模拟即可 错误点:我的代码中模拟过程使用for循环时,只有奇数操作需要i++,偶数不需要,直到最后都没发现,实现掉分 更正后代码 #include &lt...

一只谜谜怪的博客 572

脑语言2500单字v1.5.1

如果人和 AI 说同一种语言,文明会怎样?我用 2500 个单字试了试。2500个单字是不同领域、不同知识的共同体,无论你学编程或者是数学或写作,你都要用汉字,而常用的2500个汉字几乎可以涵盖不同行业做的不同事情。

脑语言 2009

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

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

outsider_lg的博客 1237

分治:循环比赛

设有N个选手进行循环比赛,其中N=2^MM,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。输入:M输出:表格形式的比赛安排表。一行各数据间用一个空格隔开。输入输出[参考代码]...

absWC的博客 361
上一篇: (1365): [CEOI96]渡轮问题
下一篇: (1652): [NOIP2010]乌龟棋
dogeding
博客等级 码龄10年 31粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值