ACM1998
/*
魔方阵,古代又称“纵横图”,是指组成元素为自然数1、2…n的平方的n×n的方阵,
其中每个元素值都不相等,且每行、每列以及主、副对角线上各n个元素之和都相等。
输入一个奇数,实现奇数魔方阵。 附:奇数魔方阵的实现方法
(1) 将1填入第一行中间;
(2) 将每个数填在前一个数的右上方。
(3) 若该位置超出最上行,则改填在最下行的对应位置;
(4) 若该位置超出最右列,则该填在最左列的对应行位置;
(5) 若某元素填在第一行最右列,下一个数填在该数同列的下一行;
(6) 若某数已填好,但其右上角已填了其他数据,则下一个数填在该数同列的下一行位置。
*/ #include <stdio.h>
#include <math.h> int main(void)
{
int a[][],i,j,n,k,count; scanf("%d",&count);
while(count--)
{
scanf("%d",&n);
for(i=;i<=n;i++)
for(j=;j<=n;j++)
a[i][j]=;
j=n/+;
a[][j]=;
i=; for(k=;k<=n*n;k++)
{
i=i-;
j=j+; if( i== && j==n+ )
{
i=i+;
j=j-;
}
else
{
if(i==)
{
i=n;
}
if(j==n+)
{
j=;
}
} if(a[i][j]==)
{
a[i][j]=k;
}
else
{
i=i+;
j=j-;
a[i][j]=k;
}
} for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
return ;
}
ACM1998的更多相关文章
随机推荐
- IDEA使用的点点滴滴
查找一个类可以使用快捷键Ctrl + N 那么怎么看这个类中有哪些属性,哪些方法,就像Eclipse中的outline功能呢? 如查看NIO中的Buffer类,Ctrl + N-->
- java工具类–自动将数据库表生成javabean
最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不 ...
- spring cloud config 入门
简介 Spring cloud config 分为两部分 server client config-server 配置服务端,服务管理配置信息 config-client 客户端,客户端调用serve ...
- C#语句及案例
今天学习了,C#语句部分的分支语句,差点转不过弯来. 语句分类: 1.顺序语句 2.选择语句(分支语句) 3.循环语句 分支语句 (一)if(){} ; 按照顺序哪个if条件适合,执行哪个. 不合适就 ...
- IIS下PHP的三种配置方式比较
在Windows IIS 6.0下配置PHP,通常有CGI.ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异. 1. ...
- When you’re nearly 40 and unmarried, and you realize you’re going to be okay
https://medium.com/the-gathering-kind/when-you-re-nearly-40-and-unmarried-and-you-realize-you-re-goi ...
- tomcat web.xml配置
关于Tomcat 中 web.xml 文件的配置问题: 1.下面的配置是合法的 <servlet> <servlet-name>test</serv ...
- hdu 1394 Minimum Inversion Number (裸树状数组 求逆序数 && 归并排序求逆序数)
题目链接 题意: 给一个n个数的序列a1, a2, ..., an ,这些数的范围是0-n-1, 可以把前面m个数移动到后面去,形成新序列:a1, a2, ..., an-1, an (where m ...
- uva1637Double Patience
状态压缩,记忆化搜索. 用一个5进制数来表示每堆排到了哪一个位置.和2进制是一样的,不过不能用位运算. #include<cstdio> #include<algorithm> ...
- UVa 10561 (SG函数 递推) Treblecross
如果已经有三个相邻的X,则先手已经输了. 如果有两个相邻的X或者两个X相隔一个.,那么先手一定胜. 除去上面两种情况,每个X周围两个格子不能再放X了,因为放完之后,对手下一轮再放一个就输了. 最后当“ ...