南阳oj 蛇形填数

Posted huanya

tags:

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

#include<iostream>
using namespace std;
int main ()
{
int n,m,max;
cin>>n;
m=n;
max=n*n;
int count=1;
int s[105][105];
int x=1,y=n;
while(count<=max)
{
while(x<=m&&count<=max)
{
s[x][y]=count++;
x++;
}
y--;
x--;
while(y>=n-m+1&&count<=max)
{
s[x][y]=count++;
y--;

}
x--;
y++;
while(x>=n-m+1&&count<=max)
{
s[x][y]=count++;
x--;
}
y++;
x++;
m--;
while(y<=m&&count<=max)
{
s[x][y]=count++;
y++;
}
x++;
y--;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(j<n)
cout<<s[i][j]<<" ";
else if(j==n)
cout<<s[i][j]<<endl;
}
}
return 0;
}

 

蛇形填数,这次是自己做出来的,有一些技巧和规律

但是在处理循环次数的时候还是不熟练,不清晰。

等有时间看看大佬的代码学习一下。






















































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

南阳oj 成绩转换

南阳oj cigarettes

南阳oj 盗梦空间

南阳oj 阶乘因式分解

南阳oj 字符串替换

南阳oj 韩信点兵