756. 蛇形矩阵

题目链接:https://www.acwing.com/problem/content/758/
在这里插入图片描述

代码

#include<iostream>
#include<algorithm>
using namespace std;
int x[110][110];
int main()
{ 
	int m,n,i,j;
	cin>>n>>m;
	int l=0,r=m-1,t=0,b=n-1;
	int k=1;
	while(l<=r && t<=b)
	{
		for(i=l;i<=r;i++)
			x[t][i]=k++;
		for(i=t+1;i<=b;i++)
			x[i][r]=k++;
		for(i=r-1;i>=l && t<b ;i--)  //不限制t,b的话会多输出 下边限制l,r同理 
			x[b][i]=k++;
		for(i=b-1;i>t && l<r ;i--)
			x[i][l]=k++;
		l++; r--; t++; b--;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
			cout<<x[i][j]<<" ";
		cout<<endl;
	}
	return 0;
}
posted @ 2021-04-17 17:47  斯文~  阅读(23)  评论(0)    收藏  举报

你好!