题目描述
blablabla
样例
#include<iostream>
using namespace std;
const int N = 110;
int n,m,q[N][N];
int main()
{
cin >> n >> m;
int d = 1;
int dx[] = {-1,0,1,0}, dy[] = {0,1,0,-1};
int x=0,y=0;
for(int i = 1; i <= n*m; i++ )
{
q[x][y] = i;
int a = x + dx[d], b = y + dy[d];
if( a<0||a>=n ||b<0 || b>=m||q[a][b])
{
d = (d+1)%4;
a = x+dx[d],b=y+dy[d];
}
x=a,y=b;
}
for(int i=0; i<n;i++)
{
for(int j=0; j<m;j++)
{
cout << q[i][j] << ' ';
}
cout<<endl;
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla