wikioi之1160 蛇形矩阵 之找规律
来源:互联网 发布:淘宝泄露买家信息处罚 编辑:程序博客网 时间:2024/05/16 05:15
题目
找规律模拟蛇形矩阵构造的方法
以输入7为例
0 1 2 3 4 5 6
中心位置的坐标直接为 n/2取整即可得到
然后从中位置开始按照逆时针的方向赋值
水平方向是y
竖直方向是x
则有第一次 是在起始坐标的基础上做变换
1、y++ , x--;
2、y--,y--, x++,x++;
3、y++,y++y++, x--,x--,x--;
...
然后模拟这个过程就可以了
最后求得数组变输出边求对角线的和
对角线上的元素有两种情况
1、 i == j;
2、i + j = n-1;
对应相加即可
另外这里用动态申请了一个二维数组
不是用之前重载一个类的形式
直接用**指针更加方便些
#include <iostream>#include<iomanip>using namespace std;int main(){ int n,x,y; int count = 1; int ** num; bool flag = true; cin>>n; num = new int*[n]; for(int i = 0; i < n; i++) num[i] = new int[n]; x = y = n / 2; num[x][y] = 1; for(int i = 1;;) { if(flag) { for(int j = 0; j < count; j++) { i++; if(i > n*n)break; y++; num[x][y] = i; } if(i > n*n)break; for(int j = 0; j < count; j++) { i++; if(i > n*n)break; x--; num[x][y] = i; } if(i > n*n)break; flag = !flag; count++; } else { for(int j = 0; j < count; j++) { i++; if(i > n*n)break; y--; num[x][y] = i; } if(i > n*n)break; for(int j = 0; j < count; j++) { i++; if(i > n*n)break; x++; num[x][y] = i; } if(i > n*n)break; flag = !flag; count++; } } int sum = 0; for(int i = 0; i < n ; i++) { for(int j =0 ; j < n; j++) { cout<<num[i][j]<<" "; //cout<<setw(3)<<num[i][j]; if(i == j || i +j == n -1)sum += num[i][j]; } cout<<endl; } cout<<sum; for(int i = 0; i < n ; i++) delete [] num[i]; delete[] num; return 0;}
当然也可以从外向内填数来模拟。。。
0 0
- wikioi之1160 蛇形矩阵 之找规律
- 找规律+模拟 之 codevs 1160 蛇形矩阵
- WikiOI 1160 蛇形矩阵
- ACM编程比赛入门题目之蛇形矩阵 CodeVS/wikioi 1160
- Wikioi 天梯 蛇形矩阵(1160)
- wikioi p1160 蛇形矩阵
- 工商水题-蛇形矩阵(找规律)
- hdu2175之找规律
- POJ2505之找规律
- 测智网原题之-找规律!
- [WikiOI] 2.2.2 蛇形矩阵
- 每天OnLineJudge 之 “蛇形矩阵 ”
- 每天OnLineJudge 之 “蛇形矩阵 ”
- sicily 1028之找规律
- ACM-博弈之找规律
- CODE[VS] NO.1083 Cantor表(类似蛇形矩阵,模拟,找规律)
- 规律矩阵找数
- ZOJ 2316 Matrix Multiplication(找规律)(矩阵和它的转置矩阵之积)
- topcoder_open_algorithm_1A_250
- Ubuntu12.04配置NVIDIA cuda5.5经验帖
- 微软2014实习生及秋令营技术类职位在线测试--String reorder
- IOS 图片上传处理 图片压缩 图片处理
- 编程之美资格赛第二题
- wikioi之1160 蛇形矩阵 之找规律
- 人脸识别经典算法二:LBP方法
- 纯CSS多级菜单
- Android ViewPager去掉标题
- 第八章 几何变换与裁剪
- 关于OAuth以及OAuth1.0与OAuth2.0的区别
- [LeetCode 9] Palindrome Number -- 回文数字
- 函数指针与回调函数
- 二进制快速排序