给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。
2015-09-10 20:39
302 查看
给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。
先来个3*38 | 1 | 6 |
3 | 5 | 7 |
4 | 9 | 2 |
1. 数字1放在第一行中间
2. 依次放在上一个数的右上角
2.1如果右边出去了就回到左边
2.2 如果上面出去了就放下面
2.3 如果右上角有了就放在这个数的下面
vector<vector<int> > Shudu(int n)
{
vector<vector<int> > ret(n, vector<int>(n, 0));
int i = 0, j = n/2, k = 2;
ret[i][j] = 1;
while(k <= n*n)
{
int tempi = i-1;
int tempj = j+1;
if(tempi < 0)
tempi = n-1;
if(tempj > n-1)
tempj = 0;
if(ret[tempi][tempj] != 0)
{
tempi = i+1;
tempj = j;
}
ret[tempi][tempj] = k;
i = tempi;
j = tempj;
++k;
}
return ret;
}
相关文章推荐
- Bubble Cup 8 - Finals [Online Mirror]C. Party
- 邻里关系
- 关于mvc5的学习
- 二维数组名作为实参或者形参
- 递归实现集合求解
- HDU4620 Fruit Ninja Extreme(搜索+剪枝)
- Mac OSX OpenFire无法启动,配置Java运行时环境变量
- D3D的绘制
- 第二周项目1
- 逻辑覆盖测试
- 协议评测平台
- 二分图
- 0909编译原理
- TOMCAT控制台日志输出到指定文件中
- Objective-C入门01:使用Xcode新建一个工程
- Mysql: Connect/C++ 使用过程中发现返回 std::string 造成的内存泄露
- 前言 数据库原理
- 索引与sql优化问题汇总
- 相似图片搜索的原理
- C# WinForm开发系列 - 文章索引