HDU 1998奇数阶魔方
原题地址:点击打开链接
仔细观察可发现,关于中心点对称的两个数之和为n*n+1,所以只需要找出一半,则另一半也就出来了,那么如何找出这一半?
看个图就明白了
//HDU 1998
#include<stdio.h>
int map[20][20];
int main()
{int n,t,m,p,u,v,i,j;scanf("%d",&t);while(t--){scanf("%d",&n);map[1][n]=(n+1)/2*n;for(i=n-1;i>=(n+1)/2;i--)map[1][i]=map[1][i+1]-n-2;map[1][(n+1)/2-1]=n*n-1;for(i=(n+1)/2-2;i>=1;i--)map[1][i]=map[1][i+1]-n-2;m=n;p=1;for(i=n;i>(n+1)/2;i--){for(j=1;j<=m-1;j++){u=1+j;v=i-j;map[u][v]=map[u-1][v+1]-1;}if(j)u=u-1;map[u][v]=map[u+1][v]-1;for(j=1;j<p;j++){map[u+j][v-j]=map[u][v]-j;}m-=2;p++;}m=n/2;for(i=n/2;i>=1;i--){for(j=1;j<=m-1;j++){u=1+j;v=i-j;map[u][v]=map[u-1][v+1]-1;}m-=1;}for(i=1;i<=n;i++)for(j=1;j<=n-i;j++){u=(n+1)-i;v=(n+1)-j;map[u][v]=(n*n+1)-map[i][j];}for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%4d",map[i][j]);printf("\n");}}return 0;
}
HDU 1998奇数阶魔方相关推荐
- hdu 1998 奇数阶魔方 规律
题目链接 奇数阶魔方 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- HDU - 1998 奇数阶魔方
传送门 文章目录 题意: 思路: 题意: 给你一个奇数nnn,构造一个nnn阶幻方. 3≤n≤193\le n\le 193≤n≤19 思路: 模板题了,直接构造一个幻方即可. 首先在第一行中间放一个 ...
- HDU:1998 奇数阶魔方(规律填数)
奇数阶魔方 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 杭电1998 奇数阶魔方
奇数阶魔方 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 奇数阶魔方(1998)
奇数阶魔方 原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=1998 Problem Description 一个 n 阶方阵的元素是1,2,-,n^2 ...
- HDU OJ 1998. 奇数阶幻方
文章目录 1. 题目描述 2. 解题思路 3. 代码实现 1. 题目描述 题目链接:1998. 奇数阶幻方 2. 解题思路 奇数阶幻方的填法确实很多,但最简便且操作性强的就是 "罗伯法&qu ...
- Matlab编程与数据类型 -- 奇数阶魔方矩阵的编程
本微信图文详细介绍了利用Matlab实现奇数阶魔方矩阵的编程.
- NYOJ 734 奇数阶魔方
奇数阶魔方 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 一个 n 阶方阵的元素是1,2,...,n^2,它的每行,每列和2条对角线上元素的和相等,这样的方阵叫魔方.n ...
- 奇数阶魔方阵算法分析
奇数阶魔方阵就是指行列数都是吧n(n>=3 且 n%2 == 1)的魔方阵 奇数阶魔方阵的数字规律 通过对奇数阶魔方阵的分析,其中的数字排列有如下的规律: (1)自然数1出现在第一行的正中间: ...
最新文章
- 巧用CSS的 Mask 滤镜
- 为什么说「中台」程序员未来会最值钱?
- 租约-分布式缓存一致性的高效容错机制
- 2017-2018-1 20155222 《信息安全系统设计基础》第8周学习总结
- 我的第一个React Native App
- netty系列之:在netty中使用protobuf协议
- CV中的经典网络模型
- lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...
- android连接此设备时打开,QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限...
- oracle 00283,数据库出现ORA-00283/ORA-01610的问题
- HTML固定的底栏(flex布局)
- XP系统出现qq安装包可能被非法改动导致安装失败
- c php乱码,Cknife的PHP功能部分修正,解决SHELL无法回显以及中文乱码
- Python Intro - xrange obsoleted by Python3
- 文章-编程需要知道多少数学知识?
- java 日期 yyyy_Java时间格式化时YYYY(大写)和yyyy(小写)的区别
- 逐点插入法-delaunay三角剖分
- html5微课程制作,翟猛老师《微课开发及制作-基于H5课件制作模式》
- Warshall算法JAVA实现
- windows7微软官方_Microsoft Windows 7 | 第1部分
热门文章
- 【BZOJ3837】[Pa2013]Filary 随机化神题
- 哪些著名软件是用C、C++编写的?
- 十五个闭目养神、调养身心的方法
- 靶机渗透(一)——bulldog2
- UVALive - 5713 Qin Shi Huang's National Road System
- actuator--基础--6.1--端点解析--health端点
- 小米盒子 android tv,小米盒子3 MDZ-16-AA 降级及刷入Android TV系统
- 【34期】谈谈为什么要拆分数据库?有哪些方法?
- kali在高清屏幕下如何放大字体与图标
- 苹果开发者账号可以创建多少测试证书_苹果开发者账号对应生成的证书都有哪些...