Educational Codeforces Round 141:B. Matrix of Differences
一、来源:Problem - B - Codeforces
二、题面

三、思路
我们先从一维思考如何构造尽可能多的数值差。以n=2为例,此时有1,2,3,4数,其中构成差值为3的方案有一个1,4,构成差值为2的方案有两个1,3/2,4,同理构成差值为1的方案有三个1,2/2,3/3,4.
由此可见我们应该先构造较大的数,故可得序列
1,4,2,3,2,3,1,4。观察第一个序列我们可以发现其规律在于后\(n^2/2\)项逆序插入,将该规则扩展到更大的n依然适用由于side-adjacent elements既可以是上下,也可以是左右,我们可以通过原序列构建矩阵
1(→) 4(↓) 2 2(←)
四、代码
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=55;
int mp[N][N];
int main(){
int n;
cin >> n;
while(n--){
int m;
cin >> m;
int num=1;
for(int i=1;i<=m;i++){
if(i%2==1){
for(int j=1;j<=m;j++){
mp[i][j]=num%2==1?(num+1)/2:(m*m-(num-1)/2);
num++;
}
}else{
for(int j=m;j>=1;j--){
mp[i][j]=num%2==1?(num+1)/2:(m*m-(num-1)/2);
num++;
}
}
}
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
printf("%d%c",mp[i][j],j!=m?' ':'\n');
}
}
}
return 0;
}
Educational Codeforces Round 141:B. Matrix of Differences的更多相关文章
- Educational Codeforces Round 141 解题报告
Educational Codeforces Round 141 解题报告 \(\text{By DaiRuiChen007}\) \(\text{Contest Link}\) A. Make it ...
- Educational Codeforces Round 40 C. Matrix Walk( 思维)
Educational Codeforces Round 40 (Rated for Div. 2) C. Matrix Walk time limit per test 1 second memor ...
- Educational Codeforces Round 141 (Rated for Div. 2) A-E
比赛链接 A 题意 给一个数组 \(a\) ,要求重排列以后 \(a[i] \neq a[1,i-1]\) ,其中 \(a[1,i-1]\) 是前 \(i-1\) 项和. 如果无解则输出 NO :否则 ...
- [Educational Codeforces Round 16]C. Magic Odd Square
[Educational Codeforces Round 16]C. Magic Odd Square 试题描述 Find an n × n matrix with different number ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 48 (Rated for Div. 2) CD题解
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 题目链接:https://codeforce ...
- Educational Codeforces Round 60 (Rated for Div. 2) 题解
Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...
- Educational Codeforces Round 40千名记
人生第二场codeforces.然而遇上了Education场这种东西 Educational Codeforces Round 40 下午先在家里睡了波觉,起来离开场还有10分钟. 但是突然想起来还 ...
- Educational Codeforces Round 30
Educational Codeforces Round 30 A. Chores 把最大的换掉 view code #pragma GCC optimize("O3") #pr ...
- Educational Codeforces Round 20
Educational Codeforces Round 20 A. Maximal Binary Matrix 直接从上到下从左到右填,注意只剩一个要填的位置的情况 view code //#pr ...
随机推荐
- SpringCloud-07-Hystrix
Hystrix 熔断器 1.Hystrix 概述 Hystix 是 Netflix 开源的一个延迟和容错库,用于隔离访问远程服务.第三方库,防止出现级联失败(雪崩). 雪崩:一个服务失败,导致整条链路 ...
- 程序设计实验第一学期期末考试复习用源代码【C语言深度解剖】【超详细注释】
有关此篇 在这里博主先告诉大家,博主在学校学的C语言课本是<谭浩强的C语言>那这本红色的书. 博主到期末阶段是学到了结构体那一章,下面是博主的复习代码,是一些比较有编程思想的一些源代码,博 ...
- InnoDB存储引擎的行级锁
InnoDB存储引擎的行级锁 InnoDB存储引擎和MyISAM的其中有两个很重要的区别:一个是事务,一个就是锁机制不同.事务之前有介绍,有问题的去补课;锁方面的不同是InnoDB引擎既有表锁又有行锁 ...
- Java 重复注解 @Repeatable
1. 设计一个重复使用的注解: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Repeatable(AppSpecs.c ...
- jackson、objectMapper 、JsonAlias、JsonProperty、json。序列化和反序列化研究。
总结: @JsonAlias:序列化出来是一定是真名,反序列化时可以传真名(驼峰)Json也可以传别名(下划线)Json @JsonProperty:序列化出来一定是别名,反序列化时也只能传别名Jso ...
- [JVM]逃逸分析
逃逸分析 JVM的内存分配策略 首先回顾一下JVM的内存分配策略. JVM的内存包括方法区.堆.虚拟机栈.本地方法栈.程序计数器.一般情况下JVM运行时的数据都是存在栈和堆上的.栈用来存放一些基本变量 ...
- 解析Sermant热插拔能力:服务运行时动态挂载JavaAgent和插件
本文分享自华为云社区<服务运行时动态挂载JavaAgent和插件--Sermant热插拔能力解析>,作者:华为云高级软件工程师 栾文飞 一.概述 Sermant是基于Java字节码增强技术 ...
- Google搜索操作符:让你秒变搜索专家
搜索引擎对互联网的重要性不言而喻,不过,随着ChatGPT及其类似AI工具的推出,对搜索引擎带来了前所未有的挑战. 因为ChatGPT具有自然语言处理能力,能够更好地理解用户的搜索意图,提供更准确.更 ...
- 启动MySQL5.7服务无法启动或Table 'mysql.plugin' doesn't exist
首先说一下我这个是mysql5.7.16免安装版,不过这个问题对于5.7版本应该都适用. 问题重现: 安装过程也说一下吧: 1.将下载的压缩文件解压到指定目录, 我的是:E:\program\ ...
- 进程,join的使用,守护进程---day30
1.进程 # ### 进程 import os,time #当前进程id(子进程) res = os.getpid() print(res) #1772 #当前进程id(父进程) res = os.g ...