总时间限制: 
10000ms

单个测试点时间限制: 
1000ms

内存限制: 
128000kB
描述

幻方是一种很神奇的N*N 矩阵:它由数字 1,2,3, … …,N*N 构成,且每行、每列及两条对角线上的数字之和都相同。

当N为奇数时,我们可以通过以下方法构建一个幻方:

首先将 1 写在第一行的中间。

之后,按如下方式从小到大依次填写每个数K(K= 2,3, …,N*N ):

  1. 若 (K−1) 在第一行但不在最后一列,则将K填在最后一行,(K−1) 所在列的右一列;

  2. 若 (K−1) 在最后一列但不在第一行,则将K填在第一列,(K−1) 所在行的上一行;

  3. 若 (K−1) 在第一行最后一列,则将K填在 (K−1) 的正下方;

  4. 若 (K−1) 既不在第一行,也不在最后一列,如果 (K−1) 的右上方还未填数,则将K填在(K−1)的右上方,否则将K填在 (K−1) 的正下方

现给定N,请按上述方法构造N*N 的幻方。

输入
输入文件只有一行,包含一个整数N,即幻方的大小。
输出
输出文件包含N行,每行N个整数,即按上述方法构造出的N*N的幻方。相邻 两个整数之间用单个空格隔开。
样例输入
3
样例输出
8 1 6
3 5 7
4 9 2
提示
对于 100% 的数据,1 ≤N≤39 且N为奇数。
来源
noip2015day1第一题
模拟
#include<bits/stdc++.h>
using namespace std;
int hf[][]= {};
int k,i,j,n,dx,dy;
int main() {
cin>>n;
k=;
dx=;
dy=n/+;
hf[dx][dy]=k;
for(k=; k<=n*n; k++) {
if(dx==&dy!=n) {
dx=n;
dy++;
} else if(dx!=&&dy==n) {
dy=;
dx--;
} else if(dx==&&dy==n) dx++;
else if(dx!=&&dy!=n) {
if (hf[dx-][dy+]==&&(dx->&&dy+<=n)) {
dx--;
dy++;
} else dx++;
}
hf[dx][dy]=k;
}
for(i=; i<=n; i++) {
for(j=; j<=n; j++)cout<<hf[i][j]<<' ';
cout<<endl;
}
return ;
}

东方14模拟赛之noip2015/day1/3/神奇的幻方的更多相关文章

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

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

  2. 2014.6.14模拟赛【bzoj1592】[Usaco2008 Feb]Making the Grade 路面修整

    Description FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了 ...

  3. 2014.6.14模拟赛【bzoj1646】[Usaco2007 Open]Catch That Cow 抓住那只牛

    Description Farmer John has been informed of the location of a fugitive cow and wants to catch her i ...

  4. noip 2018.10.14 模拟赛 砍树

    数学问题... 根据题意,有: 移项,整理,得: 记 于是 那么 可以看到,最多只会有2*个取值(显而易见) 于是对应的,可能产生效果的d也只会有个,于是我们把他们找出来,扔进一个数组里然后排序,去重 ...

  5. 【NOIP2015提高组】Day1 t1神奇的幻方

    一大淼题,直接瞎搞即可,不过一定要仔细看题目给定的条件. #include<iostream> #include<cstdio> #include<cstring> ...

  6. PKUSC 模拟赛 day1 下午总结

    下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...

  7. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  8. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  9. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

随机推荐

  1. usb hub 设备流程图

    在此处负责而来:http://blog.csdn.net/xuelin273/article/details/38646851  下面的转载于:http://blog.csdn.net/qianguo ...

  2. 思维水题:UVa512-Spreadsheet Tracking

    Spreadsheet Tracking Data in spreadsheets are stored in cells, which are organized in rows (r) and c ...

  3. BZOJ 4368: [IOI2015]boxes纪念品盒

    三种路径,左边出去左边回来,右边出去右边回来,绕一圈 绕一圈的路径最多出现一次 那么绕一圈的路径覆盖的点一定是左边半圈的右边和右边半圈的左边 枚举绕一圈的路径的起始点(一定要枚举,这一步不能贪心),更 ...

  4. Makefile基础(一)

    在大型的C语言项目中,一般都是由多个源文件编译链接形成的可执行程序,而这些源文件的处理步骤,通常交给Makefile来管理,Makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后 ...

  5. css 阴影使用

    文本阴影 p{ text-shadow: 5px 5px 5px #FF0000; } text-shadow: h-shadow v-shadow blur color; text-shadow: ...

  6. JQuery中根据属性或属性值获得元素(6种情况获取方法)

    根据属性获得元素 1.比如要获取页面p标签中属性有id的元素 $("p[id]").css("color","red"); 根据属性值获得元 ...

  7. python画图axis和axes以及subplot的区别

    https://www.zhihu.com/question/51745620 axis顾名思义就是轴. axes简单说来就是灵活的子图.

  8. [python][oldboy]strip

  9. [uiautomator篇][8] 增加应用读取内置存储卡的权限

    1 要在androidmainfest.xml增加权限(这样之后,在设备上的权限才可以点击,不然是灰色) <uses-permission android:name="android. ...

  10. list 类

    题外:len = sizeof(a)/sizeof(a[0]); 求出数组长度 1.list是一种以双向链表方式实现的一种顺序容器.list容器中,存放元素的存储单元可以是连续的也可以是不连续的. 2 ...