您的位置:首页 > 其它

蛇形填shu

2016-04-10 15:44 253 查看
#include<iostream>

using namespace
std;

int s[100][100];

int main()

{

memset(s,0,sizeof(s));

int m,n;

cin>>m>>n;

int cnt=s[0][0]=1;;

int r=0,c=0;

while(cnt!=m*n)

{

while(c+1<n&&!s[r][c+1])
{s[r][++c]=++cnt;}

while(r+1<m&&!s[r+1][c])
{s[++r][c]=++cnt;}

while(c-1>=0&&!s[r][c-1])
{s[r][--c]=++cnt;}

while(r-1>=0&&!s[r-1][c])
{s[--r][c]=++cnt;}

}

for(int i=0;i<m;i++)

{

for(int j=0;j<n;j++)

{

printf("%3d",s[i][j]);

}

cout<<endl;

}

return
0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: