class Solution {
public:
vector<vector<int>> generateMatrix(int n) {
vector<int> a(n);
vector<vector<int> > res;
for(int i=0;i<n;i++)
res.push_back(a);
int num=1,m=0;
do
{
int i,j;
for(i=m,j=m;j<n-m;j++)
res[i][j]=num++;
for(j=n-m-1,i=m+1;i<n-m;i++)
res[i][j]=num++;
for(i=n-m-1,j=n-m-2;j>=m;j--)
res[i][j]=num++;
for(j=m,i=n-m-2;i>m;i--)
res[i][j]=num++;
m++;
}while(num<=n*n);
return res;
}
};