传送门

文章目录

  • 题意:
  • 思路

题意:

直接白嫖

思路

首先不难发现,n≤2n\le2n≤2的时候是无解的。
现在我们来构造n=3n=3n=3的情况,通过打表可以发现如下矩阵是符合题目要求的:
179325486\begin{array}{ccc} 1&7&9\\ 3&2&5\\ 4&8&6\\ \end{array}134​728​956​
这就启发我们有两种做法:
一是根据这个矩阵发现规律来构造,这个显然没什么规律。
二是以这个矩阵为基础,在其基础上来加上多于的矩阵,这个方法是比较可行的,让我们以这个3×33×33×3的矩阵为原型,在其周围蛇形填数,比如5×55×55×5的矩阵的填法:
1+base7+base9+base783+base2+base5+base694+base8+base6+base5101234111615141312\begin{array}{ccc} 1+base&7+base&9+base&7&8\\ 3+base&2+base&5+base&6&9\\ 4+base&8+base&6+base&5&10\\ 1&2&3&4&11\\ 16&15&14&13&12 \end{array}1+base3+base4+base116​7+base2+base8+base215​9+base5+base6+base314​765413​89101112​
当然在这里base=16base=16base=16,这个显然是正确的,因为外围的走完之后其一定停在了row=1row=1row=1或者col=1col=1col=1的位置,之后他们俩都会跑到(1,1)(1,1)(1,1)让后就掉入圈套辣。

// Problem: E. Road to 1600
// Contest: Codeforces - Codeforces Round #632 (Div. 2)
// URL: https://codeforces.com/contest/1333/problem/E
// Memory Limit: 256 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid (tr[u].l+tr[u].r>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=510,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n;
int a[N][N];int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);cin>>n;if(n<=2) {puts("-1");return 0;}int now=0;for(int i=4;i<=n;i++) {if(i%2==0) {for(int j=1;j<=i;j++) a[i][j]=++now;for(int j=i-1;j>=1;j--) a[j][i]=++now;}else {for(int j=1;j<=i;j++) a[j][i]=++now;for(int j=i-1;j>=1;j--) a[i][j]=++now;}}a[1][1]=now+1; a[1][2]=now+7; a[1][3]=now+9;a[2][1]=now+3; a[2][2]=now+2; a[2][3]=now+5;a[3][1]=now+4; a[3][2]=now+8; a[3][3]=now+6;for(int i=1;i<=n;i++) {for(int j=1;j<=n;j++) printf("%d ",a[i][j]);puts("");}return 0;
}
/**/

Codeforces Round #632 (Div. 2) E. Road to 1600 构造好题相关推荐

  1. Codeforces Round #632 (Div. 2) F. Kate and imperfection 数论 + 贪心

    传送门 文章目录 题意: 思路: 题意: n≤5e5n\le5e5n≤5e5 思路: 首先有个显然的结论:当往集合中加入一个数xxx的时候,如果存在d∣xd|xd∣x且ddd不在集合中,那么加入ddd ...

  2. Codeforces Round #632 (Div. 2) C. Eugene and an array 思维 + 前缀和

    传送门 文章目录 题意: 思路: 题意: 给定一个长度为nnn的序列aaa,定义一段区间为好区间是这段区间的所有连续子区间的和都不为000,求好区间的个数. 思路: 套路题,定义aia_iai​的前缀 ...

  3. Codeforces Round #632 (Div. 2)巧用小技巧

    Codeforces Round #632 (Div. 2)点这 Eugene likes working with arrays. And today he needs your help in s ...

  4. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  5. Codeforces Round #453 (Div. 1) D. Weighting a Tree 构造 + dfs树

    传送门 文章目录 题意: 思路: 题意: 给你一颗nnn个点的图,每个点都有一个点权cic_ici​,要求你给每个边赋一个权值kik_iki​,要求对于每个点与他相连的边的权值之和等于这个点的点权ci ...

  6. Codeforces Round #381 (Div. 1) A. Alyona and mex 构造

    传送门 文章目录 题意: 思路: 题意: 你需要确定一个长度为nnn的数组aaa,满足给定的mmm个[l,r][l,r][l,r]限制,需要保证构造出来的aaa数组对于每个[l,r][l,r][l,r ...

  7. Codeforces Round #592 (Div. 2) G. Running in Pairs 构造(水)

    传送门 文章目录 题意: 思路: 题意: 思路: 史上最水GGG题,没有之一. 考虑最小的情况如何构造,显然就是让a,ba,ba,b都1−n1-n1−n依次排列即可,这样的最小值为n∗(n+1)2\f ...

  8. Codeforces Round #631 (Div. 2) C. Dreamoon Likes Coloring 构造

    传送门 文章目录 题意: 思路: 题意: 思路: 针灸思维不行,数据结构来凑呗. 一开始做的时候想简单了,一直wawawa,后来想到了hackhackhack样例,开始换思路构造,结果死活想不到O(m ...

  9. Codeforces Round #632 (Div. 2) C和D和F

    C. Eugene and an array 题目大意就是说给你以1个数组,数组内连续的子序列的子序列中如果没有一个和为0则这就是好序列,求所有的好序列数量 解题思路:总的子串数量为(n + 1) n ...

最新文章

  1. bzoj 1069 [SCOI2007]最大土地面积——旋转卡壳
  2. 【php】命名空间的影响
  3. rsync同步文件到远程主机
  4. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
  5. 传统登录实现方式问题思考
  6. python爬boss网站_python之requests爬虫Boss数据
  7. 自制反汇编逆向分析工具 迭代第六版本 (一)
  8. 微软北京.NET俱乐部免费活动(2010年7月18日)–Visual Studio 2010 敏捷开发与云计算Azure...
  9. Emacs代码折叠/显示
  10. 前端如何实现整套视频直播技术流程
  11. 数码大师2013破解补丁|数码大师2013白金版注册破解补丁下载(附数码大师2013白金版注册码)
  12. Android studio 菜单栏搞不见了
  13. 【190320】VC++ 机器人语音控制系统源代码
  14. 不用校园网如何下载论文文献|DOI号|文献免费下载
  15. 基于simulink的微电网虚拟同步发电机vsg控制系统仿真
  16. html代码入门书记,“seo优化”学习基本的html代码知识(入门级)
  17. 阿里云ACP认证考试易错题集(含答案及解析)
  18. 香港科大研发出Germagic杀菌涂层,可杀灭新冠病毒
  19. codeforces 438D
  20. APL开发日志--2012-12-03

热门文章

  1. java获取tomcat目录结构_tomcat目录结构简介_动力节点Java学院整理
  2. bat从数组中找出相同数字并删除_找到所有数组中消失的数字
  3. 黑客大佬:我是如何让50个文件一起骗过AI安防系统的?
  4. 你对求生欲,一无所知!| 今日最佳
  5. api中文文档 mws_中英文排版规范化 API
  6. html让ul的li自动居中,css ul li导航菜单居中问题解决方法
  7. 多个cpp文件生成so_boostpython:从多个.cpp文件创建一个模块(.so)
  8. 网站底部运行时间的php代码,网站底部运行时间统计代码
  9. 孕妇可以在计算机教室待吗,电脑对孕妇有辐射吗?孕妇使用电脑的注意事项
  10. 2021福建计算机会考操作题,2021年福建省信息技术会考笔试试题答案.doc