京东2016校招编程题
来源:互联网 发布:asp编程要点 编辑:程序博客网 时间:2024/09/21 09:22
记得有一个大题,说的是给定一个n*n的矩阵,要求从1开始填充矩阵,最后的矩阵是蛇形的。即如下:
n=3, 7 8 1
6 9 2
5 4 3
n=4, 10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
给出代码:
#include <iostream>#include <vector>using namespace std;void snake(int m, vector<vector<int> > &a){int k = m;int i = 0; int j = 0;int count = 0;int l = 0;while (k >= 0){j = m - 1 - l;for (i = l; i < m - l; i++){count++;a[i][j] = count;}i = m - 1 - l;for (j = m - 2 - l; j >= l; j--){count++;a[i][j] = count;}j = l;for (i = m - 2 - l; i >= l; i--){count++;a[i][j] = count;}i = l;for (j = l + 1; j < m - 1 - l; j++){count++;a[i][j] = count;}k = k - 2;l++;}}int main(){int m;cin >> m;vector<vector<int> > b(m);for (int i = 0; i < m; i++){b[i].resize(m);}snake(m, b);for (int i = 0; i < m; i++){for (int j = 0; j < m; j++){cout << b[i][j] << "\t";}cout << endl;}return 0;}
结果:
616 17 18 19 20 1
15 30 31 32 21 2
14 29 36 33 22 3
13 28 35 34 23 4
12 27 26 25 24 5
11 10 9 8 7 6
请按任意键继续. . .
0 0
- 京东2016校招编程题
- 京东2016校招编程题
- 京东2015校招笔试编程题
- 2016 360校招笔试编程题
- 2016校招编程题<一>
- 2016校招编程题<二>
- 2016校招编程题<三>
- 2016校招编程题<四>
- 滴滴出行2016校招编程题
- 2016校招编程题汇总
- 校招编程题集锦
- 【真题】京东2017校招编程题 幸运数
- 【真题】京东2017校招编程题 集合
- 京东2017校招笔试编程题iOS开发工程师
- 牛博网 京东2017校招编程题 python解答
- 京东2018校招在线笔试编程题①
- 京东2016春招(实习)笔试+编程题
- 京东2018秋招编程题
- STL系列之七 快速计算x的n次幂 power()的实现
- 回收站文件具体保存位置
- Lua函数以及闭合函数的理解
- Dependency(依赖)
- A C++ implementaton of MapReduce without distributed filesystem
- 京东2016校招编程题
- Java之旅Spring框架学习(3)——如何让容器管理你的Bean
- $.extend()详解
- 五个java分布式缓存
- windows上添加zabbix监控
- iOS开发:数据库管理系统 :SQL语句 与 SQLite嵌入式数据库
- 每天一道编程题(2)
- 决策树模型组合之随机森林与GBDT
- C++矩阵运算库推荐