- D - Loong and Takahashi
TAG
- 回形矩阵 回形矩阵 回形矩阵时间复杂度
- O ( N × N ) O(N \times N) O(N×N)
//
#include<bits/stdc++.h>
using namespace std;
// #define int long long const int N=50;
int g[N][N];void solve() {int n;scanf("%d",&n );int i=1,j=1,idx=1;while( idx<=n*n ) {while( j+1<=n && g[i][j+1]==0 ) g[i][j]=idx++,j++;g[i][j]=idx++; i++;if( idx>n*n ) break;while( i+1<=n && g[i+1][j]==0 ) g[i][j]=idx++,i++;g[i][j]=idx++; j--;if( idx>n*n ) break;while( j-1>=1 && g[i][j-1]==0 ) g[i][j]=idx++,j--;g[i][j]=idx++; i--;if( idx>n*n ) break;while( i-1>=1 && g[i-1][j]==0 ) g[i][j]=idx++,i--;g[i][j]=idx++; j++;if( idx>n*n ) break;}for( i=1;i<=n;i++ ) {for( j=1;j<=n;j++ ) {if( j!=1 ) putchar(' ');if( i==n/2+1 && j==n/2+1 ) printf("T");else printf("%d",g[i][j] );}putchar('\n');}
}signed main() {int t=1;// scanf("%d",&t );while( t-- ) solve();return 0;
}
实现细节
注意边界问题
参考示意图
-
无
参考链接
- 常用的LaTeX公式用法
- “形”和“型”有什么区别?
作者 | 乐意奥AI