蛇形矩阵----2017腾讯校招模拟题

来源:互联网 发布:剑三高冷成男脸型数据 编辑:程序博客网 时间:2024/06/05 09:17

输出蛇形矩阵

// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <vector>using namespace::std ;int main(){int n;cin >> n;vector<vector<int>> vec(n, vector<int>(n, 0));int left = 0, right = n - 1;int top = 0, bottom = n - 1;int index = 1;while (index <= n * n) {for (int i = left; i <= right; ++i) {if (index > n*n)break;vec[top][i] = index;++index;}++top;for (int i = top; i <= bottom; ++i) {if (index > n*n)break;vec[i][right] = index;++index;}--right;for (int i = right; i >= left; --i) {if (index > n*n)break;vec[bottom][i] = index;++index;}--bottom;for (int i = bottom; i >= top; --i) {if (index > n*n)break;vec[i][left] = index;++index;}++left;}for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {cout << vec[i][j] << " ";}}return 0;}


0 0