蛇形矩阵填数

Posted ziyuan122625

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蛇形矩阵填数相关的知识,希望对你有一定的参考价值。

我们根据4*4矩阵找一下规律:

10 11 12  1
 9 16 13  2
 8 15 14  3
 7  6  5  4
观察可知 以右上角的一开始,可将

#include<cstdio>
using namespace std;
int main(){
int n,p,q,x=1;
scanf("%d",&n);
p=1;
q=n;
int a[n+2][n+2];
for(int m=n-1;m>0;m-=2){
for(int k=1;k<=4;k++){
if(k==1){
for(int i1=1;i1<=m;i1++){
a[p][q]=x;
p++;
x++;
}
}
if(k==3){
for(int i1=1;i1<=m;i1++){
a[p][q]=x;
p--;
x++;
}
}
if(k==2){
for(int i1=1;i1<=m;i1++){
a[p][q]=x;
q--;
x++;
}
}
if(k==4){
for(int i1=1;i1<=m;i1++){
a[p][q]=x;
q++;
x++;
}
q--;
p++;
}
}
}
if(n%2==1){
a[(n/2)+1][(n/2)+1]=x;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%3d",a[i][j]);
}
printf(" ");
}
}

 

 

以上是关于蛇形矩阵填数的主要内容,如果未能解决你的问题,请参考以下文章

python版蛇形填数

蓝桥-蛇形填数

蛇形填数

LQ0074 蛇形填数递推

蛇形填数

每日一练第7天:蛇形填数