题目—神奇的幻方 (shiyancang.cn)

模拟就对了

因为每一个状态由前一个状态决定,所以只需要记录即可

#include<bits/stdc++.h>
using namespace std;
const int N=52;
int k[N][N],n,pre1,pre2;
int main()
{
scanf("%d",&n);
k[1][(n+1)/2]=1,pre1=1,pre2=(n+1)/2;
for(int i=2;i<=n*n;i++)
{
if(pre1==1&&pre2!=n) k[n][pre2+1]=i,pre1=n,pre2=pre2+1;
else if(pre2==n&&pre1!=1) k[pre1-1][1]=i,pre1=pre1-1,pre2=1;
else if(pre1==1&&pre2==n) k[pre1+1][pre2]=i,pre1+=1,pre2=pre2;
else if(pre1!=1&&pre2!=n)
{
if(!k[pre1-1][pre2+1]) k[pre1-1][pre2+1]=i,pre1=pre1-1,pre2=pre2+1;
else k[pre1+1][pre2]=i,pre1+=1,pre2=pre2;
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cout<<k[i][j]<<(j==n?'\n':' ');
return 0;
}

  

SYCOJ1018神奇的幻方的更多相关文章

  1. noip2015day1 T1 4510 神奇的幻方

    4510 神奇的幻方 noip2015day1 T1  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descripti ...

  2. 2015 NOIP day1 t1 神奇的幻方 模拟

    神奇的幻方 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=2615 Descri ...

  3. [模拟][NOIP2015]神奇的幻方

    神奇的幻方 题目描述 幻方是一种很神奇的N∗ N矩阵:它由数字 1,2,3, … … , N ∗ N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N为奇数时,我们可以通过以下方法构建一个幻 ...

  4. 神奇的幻方(NOIP2015)

    先给题目链接:神奇的幻方 太水了这题,直接模拟就行,直接贴代码. #include<bits/stdc++.h> using namespace std; int main(){ int ...

  5. P2615 神奇的幻方

    P2615 神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首 ...

  6. 洛谷 P2615 神奇的幻方

    传送门 I'm here! 思路 这个题,我们可以直接去模拟,因为范围很小,且\(N\)都是奇数 直接构造一个矩阵,初始值都为\(0\),然后\(while\)循环,根据题目给出的\(4\)个条件进行 ...

  7. NOIP2015 D1T1 神奇的幻方

    洛谷P2615 很简单的模拟题……每枚举一个点只要保存上一个点的x,y值即可,不用开数组存放 另外题目中对于K的操作都在K-1的九宫格范围内,所以我们巧妙运用++和--就可以做到每个分支一行代码 还有 ...

  8. NOIP--模拟—————神奇的幻方

    神奇的幻方 题目描述 幻方是一种很神奇的 N*N 矩阵:它由数字 1,2,3,-N x N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时,我们可以通过下方法构建一个幻方: 首先 ...

  9. [NOIP2015] 提高组 洛谷P2615 神奇的幻方

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

随机推荐

  1. 1 - 基于ELK的ElasticSearch 7.8.x 技术整理 - 基础语法篇 - 更新完毕

    准备工作 0.什么是ElasticSearch?它和Lucene以及solr的关系是什么? 这些是自己的知识获取能力,自行百度百科 1.下载ElasticSearch的window版,linux版后续 ...

  2. UNCTF2020 pwn题目

    YLBNB 用pwntools直接连接,然后接受就行. 1 from pwn import * 2 3 p = remote('45.158.33.12',8000) 4 context.log_le ...

  3. 2020腾讯犀牛鸟网络安全T-Star高校挑战赛writeup

    签到 浏览器禁用js,在www目录下有 key 命令执行基础 使用 | 可以执行其他命令,在 ../目录下有 key.php cat 一下读出来 你能爆破吗 一开始随便输了个账号的时候不是这个页面,抓 ...

  4. JAVA日记之mybatis-3一对一,一对多,多对多xml与注解配置

    1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的 ...

  5. python 快速启动http监听服务

    python3 [root@vm10-20-9-45 ~]# python3 -m http.server 2378 Serving HTTP on 0.0.0.0 port 2378 (http:/ ...

  6. ELK 使用filebeat替代Logstash收集日志

    使用beats采集日志 之前也介绍过beats是ELK体系中新增的一个工具,它属于一个轻量的日志采集器,以上我们使用的日志采集工具是logstash,但是logstash占用的资源比较大,没有beat ...

  7. TCP 两次握手为什么无法阻止历史连接?

    摘要:在两次握手的情况下,「被动发起方」没有中间状态给「主动发起方」来阻止历史连接,导致「被动发起方」可能建立一个历史连接,造成资源浪费. 本文分享自华为云社区<TCP 两次握手为什么无法阻止历 ...

  8. JAVA火星坐标系、百度坐标系、84坐标系相互转换工具类

    /** * 坐标系转换工具类 */ public class PositionUtil { public static double pi = 3.1415926535897932384626; pu ...

  9. Spring实现自定义注解并且配置拦截器进行拦截

    有时候我们会自定义注解,并且需要配置拦截器对请求方法含有该自定义注解的方法进行拦截操作 自定义注解类 NeedToken.java import java.lang.annotation.Docume ...

  10. JAVA实现导出excel功能,封装通用导出工具类

    引入maven <!--excel导出--> <dependency> <groupId>net.sourceforge.jexcelapi</groupId ...