…
include[HTML_REMOVED]
define pb push_back
using namespace std;
const int N = 1e5 + 10;
const int NN = 3e7;
typedef long long ll;
typedef unsigned long long ull;
typedef pair[HTML_REMOVED] PII;
void solve()
{
ll n,m;
cin>>n>>m;
vector<vector<ll>> a(n + 10,vector<ll> (m + 10));
ll ans = 1;
ll left = 1,right = m;
ll up = 1,dn = n;
while(left <= right && up <= dn)
{
for(int i = left;i <= right ;i++)
{
a[left][i] = ans ++;
}
for(int i = up + 1;i <= dn;i++)
{
a[i][right] = ans ++;
}
for(int i = right - 1;i >= left && up < dn;i--)
{
a[dn][i] = ans ++;
}
for(int i = dn - 1;i > up && left < right;i--)
{
a[i][left] = ans ++;
}
left ++ , right -- ,up ++,dn --;
}
for(int i = 1;i <= n;i++)
{
for(int j = 1;j <= m;j++)
{
cout<<a[i][j]<<' ';
}
cout<<'\n';
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
ll T = 1;
//cin>>T;
while(T--)
{
solve();
}
return 0;
}
…