您的位置:首页 > 其它

蛇形矩阵(百度2016实习招聘)

2016-04-04 11:52 211 查看
#include "stdafx.h"

#include <iostream>
#include <vector>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int m,n;
cin >>m >> n;
vector<vector<int> > vec(m, vector<int>(n));

int count = 1;
int startx = 0;
int starty = 0;
int endx = m - 1;
int endy = n - 1;

int i, j;
while (startx <= endx && starty<=endy){
for (j = starty; j <= endy; j++){
vec[startx][j] = count++;
}
for (i = startx+1; i <= endx; i++){
vec[i][endy] = count++;
}
for (j = endy - 1; j >= starty; j--){
vec[endx][j] = count++;
}
for (i = endx - 1; i > startx; i--){
vec[i][starty] = count++;
}

startx++;
starty++;
endx--;
endy--;
}

for (i = 0; i < m; i++){
for (j = 0; j < n; j++){
cout << vec[i][j] << ends;
}
cout << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: