蛇形矩陣----2017騰訊校招模擬題
阿新 • • 發佈:2019-01-09
輸出蛇形矩陣
// 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; }