腾讯机试模拟题(蛇形矩阵)
来源:互联网 发布:书里的句子 知乎 编辑:程序博客网 时间:2024/06/15 20:19
腾讯机试模拟题(蛇形矩阵)
蛇形矩阵示例:
整数3对应的蛇形矩阵为:
1 2 3
8 9 4
7 6 5
整数4对应的蛇形矩阵为:
1—2 – 3–4
12 13 14 5
11 16 15 6
10 –9– 8 -7
全部代码:
// Source: 腾讯公司模拟编程题// Author: Yang Qiang// Date : 2016/9/2// 题目: 按行输出蛇形矩阵// 示例: [1 2 3// 4 5 6// 7 8 9]#include<iostream>using namespace std;int main(){ int n; while(cin>>n) { //检测不合理输入 if(n<=0) return 0; int **max=new int*[n]; //建立二维数组 bool **maxflag=new bool*[n]; //建立标志矩阵 for(int i=0; i<n; i++) { max[i]=new int[n]; maxflag[i]=new bool[n]; } //标志矩阵初始化 for(int i=0; i<n; i++) for(int j=0; j<n; j++) maxflag[i][j]=0; //蛇形存入数字 int num=1,row=0,col=0; while(num<=n*n) { while(row>=0 && col>=0 && col<n && row<n && maxflag[row][col]==0 ) { max[row][col]=num++; //向右 cout<<max[row][col]; maxflag[row][col]=1; //更改标志位 col++; } col--;row++; while(row>=0 && col>=0 && col<n && row<n && maxflag[row][col]==0 ) { max[row][col]=num++; //向下 cout<<max[row][col]; maxflag[row][col]=1; //更改标志位 row++; } row--;col--; while(row>=0 && col>=0 && col<n && row<n && maxflag[row][col]==0 ) { max[row][col]=num++; //向左 cout<<max[row][col]; maxflag[row][col]=1; //更改标志位 col--; } col++;row--; while(row>=0 && col>=0 && col<n && row<n && maxflag[row][col]==0 ) { max[row][col]=num++; //向上 cout<<max[row][col]; maxflag[row][col]=1; //更改标志位 row--; } row++;col++; } cout<<endl; //按行输出蛇形矩阵 for(int i=0; i<n; i++) for(int j=0; j<n; j++) cout<<max[i][j]; cout<<endl; }}
说明
1.需要改进的地方:可以只用一个矩阵,初始化为0即可。无需设置标志矩阵
0 0
- 腾讯机试模拟题(蛇形矩阵)
- 蛇形矩阵----2017腾讯校招模拟题
- 2017腾讯校招模拟题----环形蛇形矩阵
- 腾讯笔试题:蛇形矩阵
- 腾讯机试题1:打印蛇形矩阵
- [腾讯]打印蛇形矩阵
- 腾讯笔试 蛇形矩阵
- 1160 蛇形矩阵(模拟)
- 模拟 蛇形矩阵
- [2016腾讯暑期实习在线笔试题][蛇形矩阵]
- 腾讯2016实习生笔试编程题 打印蛇形矩阵
- 腾讯2016实习生编程题蛇形矩阵打印
- 腾讯笔试题,蛇形矩阵的Java实现
- 华为机试---蛇形矩阵
- 华为机试-蛇形矩阵
- [模拟]CODEVS-1160 蛇形矩阵
- ACM题 蛇形矩阵
- [编程题]蛇形矩阵
- springMVC 自定义拦截器
- IONIC下屏幕向上滑动时渐变显示隐藏的标题栏
- C++类中的隐式类型转换
- Android之SurfaceView实现视频播放
- 自定义标签与el表示结合使用
- 腾讯机试模拟题(蛇形矩阵)
- android之VideoView和视频播放View的扩展
- 浮躁过后的一点总结
- 在一台SharePoint服务器上面部署多个环境的Enterprise Portals
- Android studio 全工程搜索并替换字符串
- 怎么把pdf转换成可编辑的word文档
- HDU 1548 A strange lift
- URLDecoder解码、URLEncoder编码
- linux服务器信息