NOIP 2015普及组复赛Day1 T1 == Codevs4510 神奇的幻方

时间:2022-09-01 13:05:33
时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 
题目描述 Description:

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

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

首先将 1写在第一行的中间。之后,按如下方式从小到大依次填写每个数(K= 2,3, … ,N∗N ):

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

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

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

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

则将 K填在( K−1)的右上方,否则将填在( K− 1)的正下方。

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

输入描述 Input Description:

输入文件只有一行,包含一个整数,即幻方的大小。

输出描述 Output Description:

输出文件包含N行,每行N个整数,即按上述方法构造出的N∗N的幻方。相邻两个整数之间用单个空格隔开。

样例输入 Sample Input:

3

样例输出 Sample Output:

8 1 6

3 5 7

4 9 2

数据范围及提示 Data Size & Hint:

对于 100%的数据,1 ≤ N ≤ 39且为奇数。

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,a[][];
int main()
{
cin>>n;
memset(a,,sizeof a );
m=n*n;
int x=,y=(n+)/;
a[x][y]=;
for(int i=;i<=m;i++)
{
if(x==&&y!=n)
{ x=n; y++; a[x][y]=i;}
else
{
if(x!=&&y==n)
{ x--; y=; a[x][y]=i;}
else{
if(x==&&y==n)
{ x++; a[x][y]=i; }
else {
if(x!=&&y!=n)
{
if(a[x-][y+]==)
{x--;y++;a[x][y]=i; }
else{x++;a[x][y]=i;}
}
}
}
}
}
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
return ;
}

思路:模拟~~

NOIP 2015普及组复赛Day1 T1 == Codevs4510 神奇的幻方的更多相关文章

  1. NOIP 2015提高组复赛

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

  2. NOIP 2018 普及组 解题报告

    目录 标题统计 题目链接 思路 代码 龙虎斗 题目链接: 思路 代码 摆渡车 题目链接: 思路 对称二叉树 题目链接 思路: 先来解释一下为毛现在才来发解题报告: 其实博主是参加过NOIP 2018普 ...

  3. NOIP2018普及组复赛游记

    2018年11月10日,NOIP2018普及组复赛. 这是我初中阶段最后一次复赛了. 和往常一样,我们在预定的早上7点,没有出发. 10分钟之后,人终于到齐了,于是出发了,一路无话. 到了南航,合照三 ...

  4. 洛谷P1067 多项式输出 NOIP 2009 普及组 第一题

    洛谷P1067 多项式输出 NOIP 2009 普及组 第一题 题目描述 一元n次多项式可用如下的表达式表示: 输入输出格式 输入格式 输入共有 2 行 第一行 1 个整数,n,表示一元多项式的次数. ...

  5. NOIP 2015 提高组 Day1

    期望得分:100+100+100=300 实际得分:100+100+45=245 T3 相似的代码 复制过去 没有改全,痛失55分 http://www.cogs.pro/cogs/page/page ...

  6. NOIP2016普及组复赛解题报告

    提高组萌新,DAY1DAY2加起来骗分不到300,写写普及组的题目聊以自慰. (附:洛谷题目链接 T1:https://www.luogu.org/problem/show?pid=1909 T2:h ...

  7. noip2015day1 T1 4510 神奇的幻方

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

  8. 2015年NOIP普及组复赛题解

    题目涉及算法: 金币:入门题: 扫雷游戏:入门题: 求和:简单数学推导: 推销员:贪心. 金币 题目链接:https://www.luogu.org/problem/P2669 入门题,直接开一个循环 ...

  9. 2010年NOIP普及组复赛题解

    题目及涉及的算法: 数字统计:入门题: 接水问题:基础模拟题: 导弹拦截:动态规划.贪心: 三国游戏:贪心.博弈论. 数字统计 题目链接:洛谷 P1179 这道题目是一道基础题. 我们只需要开一个变量 ...

随机推荐

  1. sql数据库获取表名称和表列名

    select * from sysobjects where xtype='u' SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.column ...

  2. Orchard源码分析(4&period;2):Orchard&period;Logging&period;LoggingModule类

    与CollectionOrderModule一样,LoggingModule也是一个Autofac模块.它以属性注入的方式给需要日志服务的对象设置Logger.    如果一个类有Orchard.Lo ...

  3. 【SQL Sever】SQL Sever数据库重命名

    将SQL数据库重命名,会有两种情况: 1.未使用的数据库 方法:未使用的数据库改名比较方便,找到你要更改的数据库,右键选择[重命名] 然后就可以重新起名字了,重新起名字之后,点击其他的空白处就可以了, ...

  4. Random的用法

    import java.util.Random; public class RandomTest { public static void main(String[] args) { Random r ...

  5. UI控件之 ScrollView垂直滚动控件 和 HorizontalScrollView水平滚动控件的使用

    1. ScrollView 垂直滚动控件的使用 ScrollView控件只是支持垂直滚动,而且在ScrollView中只能包含一个控件,通常是在< ScrollView >标签中定义了一个 ...

  6. 然爸读书笔记(2013-5)----Rework&lpar;重来&rpar;

    (1)你没有必要耗尽你一生的积蓄,承担财务风险. (2)你可以一边继续日常工作,一边开始创业,这样随时都能有现金满足需要.你甚至不需要办公室. 现在可以在家工作,和从未见面离你千里之外的人合作. (3 ...

  7. 解决 setOnItemClickListener,setOnScrollListener与setOnTouchListener事件冲突问题

    代码案例如下: lvXxsdMore.setOnItemClickListener(xxsdMoreListener); //对listView 注册onclick事件 lvXxsdMore.setO ...

  8. Deleted pointer causes undefined behaviour

    这文章是早期闲得用英文写的,删除了怪可惜的,贴出来证明自己会英文算了... Occasionally,on *.com,I found a classic problem wh ...

  9. C&num; Int 类型线程不安全

    之前统计报表算法做了一个优化,一个查询二十分钟导致客户端超时,优化到只需要5秒钟.后来发现for循环里数据合并的时候耗时,就用并行做优化.但是发现并行后丢居然数据(当然是因为List线程不安全). 前 ...

  10. python3&period;6执行pip3时 Unable to create process using &&num;39&semi;&quot&semi;&&num;39&semi;

    问题需求 由于在windows操作系统中已经安装了python2.7,要在安装python3的时候 将python3.6安装在C:\Python36目录下 然后进入C:\Python36目录下执行pi ...