中午是猿辅导水果时间,小猿会给每个同学发水果。猿辅导有一个矩形的办公区域,共有N 排,每排M个工位。平时小猿按照从第一排到最后一排的顺序发水果,某一天小猿突然发现似乎旋转着发水果是一种更有趣的方式,所以决定试试按照逆时针方向螺旋发水果。
已知每个工位有一个数字,表示该工位员工的工号,每个员工的工号不同。已知小猿从(0, 0)位置开始,按照逆时针螺旋的顺序发水果,请输出收到水果的员工工号序列。
输入描述:
第一行 两个数, 数组行列 N,M
接下来 N 行,每行 M 个正整数,表示每个位置的员工工号
1 ≤ N ≤ 1000
1 ≤ M ≤ 1000
输出描述:
发放水果工号序列
输入例子1:
3 3
1 2 3
4 5 6
7 8 9
输出例子1:
1 4 7 8 9 6 3 2 5
类似于剑指offer 29题——顺时针打印矩阵,利用递归的思想,另外要注意考虑,只有一行,只有一列,只有两行,只有两列的特殊情况。
#include<iostream>
#include<vector>
#include<stack>
#include<algorithm>
#include<queue>
using namespace std;
void printMatrix(vector<vector<int>> &mat,int startx,int endx,int starty,int endy) {
// 只有一行
if(startx==endx) {
for (int i = starty; i <= endy; i++)
{
cout<<