题目描述 Description

小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.

输入描述 Input Description

n(即n行n列)

输出描述 Output Description

n+1行,n行为组成的矩阵,最后一行为对角线数字之和

样例输入 Sample Input

3

样例输出 Sample Output

5 4 3
6 1 2
7 8 9
25

数据范围及提示 Data Size & Hint
 

分类标签 Tags 点此展开

一定要注意 :这道题一开始走的方向是 fx=1 ;

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring> using namespace std; int n,lastnum,sum,num=;
int jz[][];
int fx;//代表此时走的方向 void con(int nx,int ny)
{
fx=;
memset(jz,,sizeof(jz));
jz[nx][ny]=;
while(num<lastnum)
{
if(fx==)//向右走
{
nx++;
jz[nx][ny]=++num;
if(jz[nx][ny+]==)
{
fx=;//转变为向上走
}
}
else if(fx==)//向上走
{
ny++;
jz[nx][ny]=++num;
if(jz[nx-][ny]==)
{
fx=;//转变为向左走
}
}
else if(fx==)//向左走
{
nx--;
jz[nx][ny]=++num;
if(jz[nx][ny-]==)
{
fx=;//转变为向下走
}
}
else if(fx==)//向下走
{
ny--;
jz[nx][ny]=++num;
if(jz[nx+][ny]==)
{
fx=;//转变为向右走
}
}
}
} int main()
{
scanf("%d",&n);
lastnum=n*n;
int firstx=(n+)/;//因为n一定为奇数
int firsty=firstx;
con(firstx,firsty);
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
cout<<jz[i][j]<<" ";
}
cout<<endl;
}
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(i==j) sum+=jz[i][j];//位于对角线上点 点的特征
if(i+j==n) sum+=jz[i][j];
}
}
cout<<sum;
return ;
}

最新文章

  1. bzoj1023: [SHOI2008]cactus仙人掌图
  2. Map&lt;Key,Value&gt;基于Value值排序
  3. C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法
  4. Linux文件锁flock
  5. mysql 重复数据防止插入:)
  6. Python核心编程-描述符
  7. ios多线程和进程的区别(转载)
  8. hdu 2121 , hdu 4009 无定根最小树形图
  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(26)-权限管理系统-分配角色给用户
  10. windows 10家庭版升级到专业版
  11. 【编程实践】连续正整数之和(华东师范大学OJ-3025)
  12. Extjs4 操作TreeStore 处理proxyAjax 获取的数据
  13. 几乎没用到过的css 样式
  14. c++ 定义宏常量
  15. SpriteBuilder中子节点的相对位置(%百分比定位)
  16. linux 进程概念
  17. node.js 远程调试debug产线环境代码
  18. 监控.net 网站 Glimpse
  19. Spring架构-01-微服务架构
  20. [POI2015]LOG(树状数组)

热门文章

  1. 使用Sklearn构建朴素贝叶斯分类器-新闻分类
  2. python每日一练:0014题
  3. python pandas 自动生成批量测试数据插入数据库 mysql
  4. Golang中的error类型
  5. docker--搭建docker swarm集群
  6. [Web 前端] 034 计算属性,侦听属性
  7. java8-----lambda语法
  8. 本地代码推送到远程git仓库
  9. Python 入门之数据类型之间的相互转换 以及 在编程中会遇到的数据类型的坑
  10. CSS 属性小记