1160 蛇形矩阵
时间:2022-05-08
本文章向大家介绍1160 蛇形矩阵,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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<iostream>
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<<a[i][j]<<" ";
82 if((i+j==n+1)||(i==j))
83 ans=ans+a[i][j];
84 }
85 cout<<endl;
86 }
87 cout<<ans;
88 return 0;
89 }
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 知更鸟主题修改CSS:让凌乱的标签变得整洁清爽
- 浅谈 Android Dex 文件
- Tcp连接建立与连接释放
- Python Django开发 异常及解决办法(三)
- 有赞零售小票打印跨平台解决方案
- Angular [(ngModel)]的ng-dirty设置时机
- 有赞订单导出的配置化实践
- k2路由器刷系统
- 使用Seq搭建免费的日志服务
- html可伸缩侧边栏
- Dubbo 压测插件的实现——基于 Gatling
- html自定义checkbox样式
- 宝塔面板7.4.2及Windows面板6.8数据库鉴权漏洞 – 官方发布紧急安全更新
- ESP32刷入Ruff Lite固件
- Angularjs1.x ES6接入Chart图表