东方14模拟赛之noip2015/day1/3/神奇的幻方
- 总时间限制:
- 10000ms
- 单个测试点时间限制:
- 1000ms
- 内存限制:
- 128000kB
- 描述
-
幻方是一种很神奇的N*N 矩阵:它由数字 1,2,3, … …,N*N 构成,且每行、每列及两条对角线上的数字之和都相同。
当N为奇数时,我们可以通过以下方法构建一个幻方:
首先将 1 写在第一行的中间。
之后,按如下方式从小到大依次填写每个数K(K= 2,3, …,N*N ):
若 (K−1) 在第一行但不在最后一列,则将K填在最后一行,(K−1) 所在列的右一列;
若 (K−1) 在最后一列但不在第一行,则将K填在第一列,(K−1) 所在行的上一行;
若 (K−1) 在第一行最后一列,则将K填在 (K−1) 的正下方;
若 (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/神奇的幻方的更多相关文章
- 2015 NOIP day1 t1 神奇的幻方 模拟
神奇的幻方 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=2615 Descri ...
- 2014.6.14模拟赛【bzoj1592】[Usaco2008 Feb]Making the Grade 路面修整
Description FJ打算好好修一下农场中某条凹凸不平的土路.按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修好的路中. 整条路被分成了 ...
- 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 ...
- noip 2018.10.14 模拟赛 砍树
数学问题... 根据题意,有: 移项,整理,得: 记 于是 那么 可以看到,最多只会有2*个取值(显而易见) 于是对应的,可能产生效果的d也只会有个,于是我们把他们找出来,扔进一个数组里然后排序,去重 ...
- 【NOIP2015提高组】Day1 t1神奇的幻方
一大淼题,直接瞎搞即可,不过一定要仔细看题目给定的条件. #include<iostream> #include<cstdio> #include<cstring> ...
- PKUSC 模拟赛 day1 下午总结
下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstd ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
随机推荐
- linux系统入门—文件管理
目录 linux系统入门-文件管理 系统目录结构 目录管理 linux系统入门-文件管理 系统目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件.具体来说就是在一个目录中存放子目录和文件,而在 ...
- 剑指Offer(书):顺时针打印数组
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1 ...
- IOC容器和Bean的配置
IOC容器和Bean的配置 1 IOC和DI ①IOC(Inversion of Control):反转控制. 在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取 ...
- usb hub 设备流程图
在此处负责而来:http://blog.csdn.net/xuelin273/article/details/38646851 下面的转载于:http://blog.csdn.net/qianguo ...
- HDU - 1496 Equations (hash)
题意: 多组测试数据. 每组数据有一个方程 a*x1^2 + b*x2^2 + c*x3^2 + d*x4^2 = 0,方程中四个未知数 x1, x2, x3, x4 ∈ [-100, 100], 且 ...
- 带权并查集:CF-2015 ACM Arabella Collegiate Programming Contest(F题)
F. Palindrome Problem Description A string is palindrome if it can be read the same way in either di ...
- 最长回文子串——manacher
最长回文子串--Manacher 算法 (原版的博主的代码都是用py写的,这里改成c++) c++ 算法 字符串处理 0. 问题定义 最长回文子串问题:给定一个字符串,求它的最长回文子串长度. 如果一 ...
- $ cat /usr/share/doc/wireshark-common/README.Debian
$ cat /usr/share/doc/wireshark-common/README.Debian I. Capturing packets with Wireshark/Tshark There ...
- selenium2元素定位Xpath和cssSelector
Selenium2中元素有以下几种定位方法, 常用的有Id,xpath, cssSelector XPATH介绍: XPATH是一种选择器 XPATH在firefox中用firepath验证 XP ...
- foreach ($users as $key=>$value)
1: foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$ ...