蛇形填数

原创 2015年11月17日 20:03:16

蛇形填数

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
输入
直接输入方陈的维数,即n的值。(n<=100)
输出
输出结果是蛇形方陈。

样例输入

3

样例输出

7 8 1

6 9 2

5 4 3


既然是n*n的填数问题 就先引入一个n*n的二位数组 从最右的一端开始填数 然后向下 再向左 再向上 ......

想法很简单 实际编程或许会比较难 代码如下

#include <stdio.h>
int main()
{
int fun();
fun();
return 0;
}


int fun()
{
int n,i=-1,j,x=0,y=0,num=0;
int a[100][100];
scanf("%d",&n);
j=n-1;
while(1)
{//保证每次检测到后一个数 然后用 i++/i--/j++/j--复位 

for(i++;i<n-x;i++)
{
num++;
a[i][j]=num;
}
i--;
if(num>=n*n)
{
break;
}
for(j--;j>=y;j--)
{
num++;
a[i][j]=num;
}
j++;
if(num>=n*n)
{
break;
}
for(i--;i>=x;i--)
{
num++;
a[i][j]=num;
}
i++;
if(num>=n*n)
{
break;
}
for(j++;j<n-y-1;j++)
{
num++;
a[i][j]=num;
}
j--;
if(num>=n*n)
{
break;
}
x++;
y++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}



7 8 16 9 25 4 3

acm蛇形填数

描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 输入直接输入方陈的维数,即n的...
  • qq_36238595
  • qq_36238595
  • 2016年12月09日 13:13
  • 546

Java笔记(例1:蛇形填数) 边走边聊

(2013-7-17) 今天先复习一下昨天的成果,来一道小小的设计题---蛇形填数: 在n*n的方阵中填入1,2,...,n*n;要求填成蛇形。例如n=4时的方阵为: 10  11  12  1   ...
  • wangxiaosu
  • wangxiaosu
  • 2013年07月17日 11:38
  • 1784

算法竞赛入门经典 蛇形填数

蛇形填数
  • hoho_12
  • hoho_12
  • 2016年02月18日 21:35
  • 862

C语言蛇形填数

思路就是:右-》下-》左-》上#include #include int a[10][10]; int main() { int i,j, n, num=0; memset(a, 0,...
  • acmjk
  • acmjk
  • 2015年05月06日 22:58
  • 1289

【经典算法】:蛇形填数,最简单的方法了。。。

问题概述什么是蛇形填数,百度一下即可 解法你能发现这里面的数为1到 n*n; 所以写个循环即可while(count...
  • qq_23100787
  • qq_23100787
  • 2015年09月29日 16:20
  • 4581

程序3-3 蛇形填数

蛇形填数 在n*n的方阵中填入1,2,3...n*n,要求填成蛇形.例如,n=4时的方阵为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 代码如下: #i...
  • hurmishine
  • hurmishine
  • 2016年03月12日 23:39
  • 655

C++蛇形填数

蛇形填数 问题描述: 在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为:  10 11 12 1   9 16 13 2   8 15 14 3   7  6 ...
  • zhaochengyuan
  • zhaochengyuan
  • 2012年08月10日 15:20
  • 2373

蛇形填数(矩阵)

蛇形填数        在 n x n 方针里填入 1,2,...,n x n,要求填成蛇形。例如:n=4时方阵为: 10 11 12 1 9   16 13 2 8   15 14 3 7...
  • qq_15096707
  • qq_15096707
  • 2015年01月31日 17:39
  • 811

nyoj 852 蛇形填数(二)【循环+数组】

蛇形填数(二) 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描述 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9 ...
  • dxx_111
  • dxx_111
  • 2015年08月31日 16:39
  • 531

HDU 2153 仙人球的残影(类蛇形填数)

仙人球的残影 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub...
  • hurmishine
  • hurmishine
  • 2016年03月30日 20:53
  • 721
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蛇形填数
举报原因:
原因补充:

(最多只允许输入30个字)