分割矩阵(每个角不同数字)

来源:互联网 发布:华为云计算视频教程 编辑:程序博客网 时间:2024/05/16 15:37
/*------------------Header Files------------------*/#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <algorithm>#include <cstdlib>#include <ctype.h>#include <cmath>#include <stack>#include <queue>#include <map>#include <vector>#include <limits.h>using namespace std;/*------------------Definitions-------------------*/#define LL long long#define PI acos(-1.0)#define INF 0x3F3F3F3F#define MOD 10E9+7#define MAX 500050/*---------------------Work-----------------------*/int n,maze[1050][1050];void work(){scanf("%d",&n);memset(maze,0,sizeof(maze));int geshu=1;for(int i=n/2;i>=1;i--){int k=i+1;for(int j=1;j<=geshu;j++){maze[i][k++]=1;}geshu+=2;}geshu=1;for(int i=n/2+2;i<=n;i++){int k=i-1;for(int j=1;j<=geshu;j++){maze[i][k--]=2;}geshu+=2;}geshu=1;for(int j=n/2;j>=1;j--){int k=j+1;for(int i=1;i<=geshu;i++){maze[k++][j]=3;}geshu+=2;}geshu=1;for(int j=n/2+2;j<=n;j++){int k=j-1;for(int i=1;i<=geshu;i++){maze[k--][j]=4;}geshu+=2;}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)printf("%d ",maze[i][j]);printf("\n");}}/*------------------Main Function------------------*/int main(){//freopen("test.txt","r",stdin);//freopen("cowtour.out","w",stdout);//freopen("cowtour.in","r",stdin);work();return 0;}

0 0