博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1160 蛇形矩阵
阅读量:6923 次
发布时间:2019-06-27

本文共 2020 字,大约阅读时间需要 6 分钟。

1160 蛇形矩阵

 

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver
 
 
 
题目描述 
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

1 #include
2 using namespace std; 3 int now=1; 4 int a[101][101]; 5 int s=0; 6 int fx=1;// 1右 2左 3上 4下 7 int tot=1; 8 int ans=0; 9 int main()10 {11 int n;12 cin>>n;13 s=n/2+1;14 int i=s;15 int j=s;16 a[i][j]=now;17 now++;18 while(tot!=n*n)19 {20 if(fx==1&&j-i==1)21 {22 fx=3;23 //a[i][j]=now;24 //now++;25 // tot++;26 }27 if(fx==2&&i==j)28 {29 fx=4;30 //a[i][j]=now;31 // now++;32 // tot++;33 }34 if(fx==3&&(i+j==n+1))35 {36 fx=2;37 //a[i][j]=now;38 // now++;39 // tot++;40 }41 if(fx==4&&(i+j==n+1))42 {43 fx=1;44 //a[i][j]=now;45 // now++;46 // tot++;47 }48 if(fx==1)// 1右 2左 3上 4下 49 {50 j++;51 a[i][j]=now;52 now++;53 tot++;54 }55 if(fx==2)// 1右 2左 3上 4下 56 {57 j--;58 a[i][j]=now;59 now++;60 tot++;61 }62 if(fx==3)// 1右 2左 3上 4下 63 {64 i--;65 a[i][j]=now;66 now++;67 tot++;68 }69 if(fx==4)// 1右 2左 3上 4下 70 {71 i++;72 a[i][j]=now;73 now++;74 tot++;75 }76 }77 for(int i=1;i<=n;i++)78 {79 for(int j=1;j<=n;j++)80 {81 cout<
<<" ";82 if((i+j==n+1)||(i==j))83 ans=ans+a[i][j];84 }85 cout<

 

转载地址:http://ibcjl.baihongyu.com/

你可能感兴趣的文章
执行力是成功的第一步
查看>>
我的《鸟哥的Linux私房菜》笔记(七)vi 的使用
查看>>
centos里使用jenkins服务器来自动持续构建maven的java项目
查看>>
ceilometer入门
查看>>
我的友情链接
查看>>
linux下查找某目录下所有文件包含某字符串的命令
查看>>
linux查看硬链接对应的所有文件
查看>>
运营商DNS系统面临的主要风险
查看>>
python之collection系列
查看>>
我的友情链接
查看>>
Apache + Tomcat基于AJP协议实现反代、动静分离、负载均衡和session会话保持
查看>>
soundEffectsEnabled
查看>>
mysql数据库安装及使用
查看>>
Shell脚本之awk详解
查看>>
华为动态路由RIP介绍及配置
查看>>
符号、线条、颜色
查看>>
linux根下目录下文件和
查看>>
jenkins 修改jenkins_home
查看>>
H3C交换机python命令下发脚本
查看>>
ansible集中化自动管理(部署LAMP环境)
查看>>