CODE[VS] 天梯 1160 蛇形矩阵
来源:互联网 发布:剑三小八捏脸数据 编辑:程序博客网 时间:2024/04/30 05:33
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
数据范围及提示 Data Size & Hint
思路:
具体看代码注释,比较容易可以看出规律
#include<stdio.h>#include<string.h>int arr[101][101];int main(){ int n; scanf("%d",&n); int mid = (1+n)/2; int c = 1; arr[mid][mid]=c++; int i = mid,j = mid;//从中心开始执行 for(int k = 1;k<=n/2;k++){//这里表示执行几次循环圈 j++;//此处向右走一步,表示开始执行循环圈 arr[i][j] = c++; //向上 while(i!=mid-k||j!=mid+k){ i--; arr[i][j]=c++; } //向左 while(i!=mid-k||j!=mid-k){ j--; arr[i][j] = c++; } //向下 while(i!=mid+k||j!=mid-k){ i++; arr[i][j] = c++; } //向右 while(i!=mid+k||j!=mid+k){ j++; arr[i][j] = c++; } } for(int i = 1;i<=n;i++){ for(int j = 1;j<=n;j++){ if(j!=n)printf("%d ",arr[i][j]); else printf("%d",arr[i][j]); } printf("\n"); } int sum = 0; for(int i = 1;i<=n;i++) sum+=arr[i][i]; for(int i = 1;i<=n;i++) sum+=arr[i][n-i+1]; printf("%d\n",sum-arr[mid][mid]); return 0;}
0 0
- CODE[VS] 天梯 1160 蛇形矩阵
- CODE[VS] 1160 蛇形矩阵
- 天梯 1160 蛇形矩阵
- CODE[VS] C++ 1160 蛇形矩阵
- Code Vs-problem-1160 蛇形矩阵
- Wikioi 天梯 蛇形矩阵(1160)
- 天梯 蛇形矩阵
- codevs 天梯 蛇形矩阵 暴力
- CODE VS 天梯 均分纸牌
- CODE[VS] NO.1083 Cantor表(类似蛇形矩阵,模拟,找规律)
- CODE[VS] 天梯 1205 单词翻转
- CODE[VS] 天梯 1083 Cantor表
- CODE[VS] 天梯 1214 线段覆盖
- CODE[VS] 天梯 1048 石子归并
- CODE[VS] 天梯 1457 又是求和?
- WikiOI 1160 蛇形矩阵
- 1160 蛇形矩阵(模拟)
- 1160 蛇形矩阵
- Classifier
- 1021. 个位数统计 (15)
- 基于arduino-due,jlink以及OpenOCD的zephyr调试平台的搭建
- A1070/B1020 Mooncake (25)
- JAVASE基础-day12(常见对象(Scanner,String))
- CODE[VS] 天梯 1160 蛇形矩阵
- 1022. D进制的A+B (20)
- java 泛型type
- Mac下Appium环境搭建
- Github SSH key 的配置
- 1023. 组个最小数 (20)
- 第17天(就业班) jdbc连接数据库、statement执行DDL语句、statement执行DQL查询语句、preparedstatement、callablestatement、通讯录改造jdb
- Android Studio插件开发之 - 入门篇
- hdu 1176 免费馅饼