题目描述 Description

用数字1,2,3,4,...,n*n这n2个数蛇形填充规模为n*n的方阵。

蛇形填充方法为:

对于每一条左下-右上的斜线,从左上到右下依次编号1,2,...,2n-1;按编号从小到大的顺序,将数字从小到大填入各条斜线,其中编号为奇数的从左下向右上填写,编号为偶数的从右上到左下填写。

比如n=4时,方阵填充为如下形式:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHcAAABcCAIAAADbML0oAAAEqElEQVR4nO2dTbKsIAyF3y562INehCMH7oKJ5UKsYi3shTUxfwNt5ScgxBBfvc6pO+ryBvykA+aI/ceJ+uvP0x34CQllDgllDgllDgllDgllDuUpG/V5D9pSN2jX6f36vF+f92uij+6cc2be43/GlaABr8PH32LaYgCUrR62LuqZmrJdp/PKWT1Sg7brRH7x7DrNAVSrBwLKhww15aR/Znmrxg4Xw4+E0ShbYaWcyOqZ4ku9yajWIYZRMrRr9ChlUi5bb4+k3CnpI9KFe5KyUTSz0xFvHpZ5+HwHmpl7gLZ6xDB5iDI14m0ujWIaTduEc3adUN1+gjI9YueAwdthMjQK9/1gp9wHMRSZdGrdWsAC4aWcgiAdbv5w7pCXzYIdH/m7kuCPBLdZkpuoD+V62e3ZeYvcvt66EDZdOKlj8Egoc0goc0goc0goc0goc0goc0goc0goc0goc0gocyhDuZfT7NUZOlQbiN3rNHgurFFleztXLTqKOFaPzcZ4Xh0NUKuHc0AYRXf99pEx6RWsyYX0zQJV1ioyBtYgAGN1oxyXJTsUx+sqn9AFFsr4JjJHYSiTZ4xexeXQXTYLeX25inJrxvhOgJ0s928TtE+90NoOkYqUvxNg7ewXqsNzVkF0zOMNoMz8CsYy/TKjciwDoGvWy30XBkSU/5m8DB1WSbnXgxl0LOJEbLV6jHKSBlPKcYowM9m9QxTK6oHw9iG8YGwZI0oRcIKFx/J5E0V9exYY5MTLAN8jJ/zyJfer8b1lcAA4h0kdg0NCmUNCmUNCmUNCmUNCmUNCmUNCmUNCmUNCmUNCmUNFyj023HZ9XH4LDof12kUVkkoe9n6EwlTxzfyaxoGWsl+WC1zn24G3UtGiwb2lQamssRZ44WEHTYxwubzsSClzYzMFpLTWTu0PgDt4kw9DY6VSV47UuJqMKZGj/DVVaSlT7M9vbQI+ClPjL1DeTdXc6WQoH1vGOo9l0qSxRayhjHO4s5St3ncmN1H27G5iyn5ePvIdM2XYzK9QhrLnxDdQPq6Mc/SUnQu3/ZPHv6CMRuxylP3tmw2UAzuq15LLlbt1I2KB8h3ELkMZ8KtqfT8vMv1Y9qPTe6BZyjcRu5reNs5+Z+R+lO+fNiSYctwW6jvUg7L/7imyjNHJZo4ix90GcmDDe7QuPeytDXUjY4goJJQ5JJQ5JJQ5JJQ5JJQ5JJQ5JJQ5JJQ5JJQ5lKdcesv1edOJqajZdSr9o1nwReesu5q8vq3ZCat0V8HiQf59cvm3XHumWeOWk70fSoNVlb1yMmiNKFGV3dU7JdYadxV4y6ivsocNEbTrEnyKcXcuzvlOITBT+aQoZJccqXLwZspJRMw+tf+L8vU4+yHKd34+YOsWTHnr7ZGUoWN+hXLcPmZzeZ7yrM6tztBLeX+TMu719jBlq4d4UWHW6zXGebBQDpQdy5/kIZPo7G6vMVC/efA8ZUwT+dkvNhXjB5faKYef4zZSc1M2KrgNCX6cpl55d9UfzpV5ueIt16eV2YbDsyCB6R76LaHq+CV3NQnelOKq3FUPGhBc6hgcEsocEsocEsocEsocEsocEsocEsocEsoc+gtKAbcxPrAk1wAAAABJRU5ErkJggg==" alt="" />

 输入输出格式 Input/output
输入格式:
输入一个不大于10的正整数n,表示方阵的行数.
输出格式:
输出该方阵,相邻两个元素之间用单个空格间隔。
 输入输出样例 Sample input/output
样例测试点#1
输入样例:

4

输出样例:
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
 

思路:我先以一个5*5的例子开头吧,如下图所示是一个已经填充好的蛇形数组:

aaarticlea/png;base64,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" alt="" width="257" height="227" />

图中的kk根红线代表有kk次循环,kk=2*n-1

每次按照红线的箭头来存放数字,对于循环的次数i来说,如果i是单数,则数字存放是由左下往右上,如果i是双数,则数字存放是由右上往左下。

这里要分两种情况来讨论:

  <1>:当循环是下图中的①部分时,每次循环的次数都会递增1,第一次循环是从1开始,第二次循环是2、3,第三次循环是4、5、6

那么对于每次循环的开始和止点,通过观察都可以得出一个普遍结论,当i是奇数时,循环次数为i次,a[i-j][j]就可以递增;当i是偶数,循环次数还是i次,a[j][i-j],也是递增

  <2>:当循环是下图中的②部分时,每次循环的次数也是递增1,第一次循环是16、17、18、19,第二次循环是20、21、22,以此类推,每次需要循环的次数都是递减的,这时候循环的次数和循环的起止点都不和i<=n时一样了,这时候就需要重新寻找规律,我在这里定义了一个k来计算循环到达的层数,例如16、17、18、19这是第一层,这样就可以很方便地用k和n来控制循环次数,我得出了一个普遍公式:j从0开始一直到n-k循环,如果i是奇数,则每次递增a[i-j-k][j+k],如果i是偶数,则每次递增a[j+k][i-j-k]即可。

aaarticlea/png;base64,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" alt="" width="279" height="239" />

代码如下:

 #include <stdio.h>
int main()
{
int n,i,j;
int kk;
int o=;//用来改变数组的变量
int k=;
int a[][];
scanf("%d",&n);
kk=*n-;//控制总循环次数
for(i=;i<=kk;i++)
{
/*===========================*///①部分
if(i%==&&i<n)//递增
{
for(j=;j<=i;j++)
{
a[i-j][j]=o;
o++;
}
}
else if(i%==&&i<n)//递减
{
for(j=;j<=i;j++)
{
a[j][i-j]=o;
o++;
}
}
/*===========================*///②部分
else if(i%==&&i>=n)//递增
{
for(j=;j<n-k;j++)
{
a[i-j-k][j+k]=o;
o++;
}
k++;
}
else if(i%==&&i>=n)//递减
{
for(j=;j<n-k;j++)
{
a[j+k][i-j-k]=o;
o++;
}
k++;
}
}
for(i=;i<n;i++)//输出结果
{
for(j=;j<n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return ;
}

Openjudge-NOI题库-蛇形填充数组的更多相关文章

  1. noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T21——T25

    T21 二维数组右上左下遍历 描述 给定一个row行col列的整数数组array,要求从array[0][0]元素开始,按从左上到右下的对角线顺序遍历整个数组. 输入 输入的第一行上有两个整数,依次为 ...

  2. NOI题库刷题日志 (贪心篇题解)

    这段时间在NOI题库上刷了刷题,来写点心得和题解 一.寻找平面上的极大点 2704:寻找平面上的极大点 总时间限制:  1000ms  内存限制:  65536kB 描述 在一个平面上,如果有两个点( ...

  3. NOI题库 1768最大子矩阵 题解

    NOI题库 1768最大子矩阵  题解     总时间限制: 1000ms 内存限制: 65536kB   描述   已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大 ...

  4. NOI题库 09:图像旋转翻转变换

    NOI题库开始的题,也是略水,当然也是大水,所以彼此彼此 09:图像旋转翻转变换 总时间限制: 1000ms 内存限制: 65536kB 描述 给定m行n列的图像各像素点灰度值,对其依次进行一系列操作 ...

  5. NOI题库-小学奥赛QwQ

    今天Loli教育我们让我们来看看NOI题库的奥赛部分,不过,为何是小学的( ⊙ o ⊙ )啊!感觉智商被各种侮辱. 余数相同问题: 描述 已知三个正整数 a,b,c. 现有一个大于1的整数x,将其作为 ...

  6. noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T11——T20

    T11 图像旋转 描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出. 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数.1 <= n <= 100,1 <= ...

  7. noi题库(noi.openjudge.cn) 1.8编程基础之多维数组T01——T10

    T01 矩阵交换行 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果. 输入 输入共6行,前5行为矩阵的每一行元素,元 ...

  8. noi题库(noi.openjudge.cn) 1.7编程基础之字符串T31——T35

    T31 字符串P型编码 描述 给定一个完全由数字字符('0','1','2',-,'9')构成的字符串str,请写出str的p型编码串.例如:字符串122344111可被描述为"1个1.2个 ...

  9. noi题库(noi.openjudge.cn) 1.7编程基础之字符串T21——T30

    T21:单词替换 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替 ...

随机推荐

  1. 关于pydev的语法的错误提示

    第三方包引入时,eclipse默认会把一些包定为错误的,错误是:“undefined variable from import...” 其实是对的,可是报错,很烦人 解决方法:window -- pr ...

  2. python 开发利器

    UliPad 初体验----python 开发利器 Posted on 2013-10-28 22:36 虫师 阅读(436) 评论(3) 编辑 收藏 学习python 有段时间,最近博客更新比较慢了 ...

  3. [转] iOS ABI Function Call Guide

    source: apple ARMv6 Function Calling Conventions When functions (routines) call other functions (sub ...

  4. Oracle中复制表结构和表数据

    一.复制表结构及其数据 create table new_table as (select * from old_table); 二.只复制表结构 create table new_table as ...

  5. javascript eval和JSON之间的关系

    eval函数的工作原理 eval函数会评估一个给定的含有javascript代码的字符串,并且视图去执行包含在字符串里的表达式或者 一系列的合法的javascript语句.eval函数将把最后一个表达 ...

  6. 我的Emacs折腾经验谈(二) Emacs上手难的原因

    既然之前说过要写我怎么继续折腾Emacs的,过了一个星期这里就是第二篇了,突然觉得我把blog这样分节不是很好,每次可能要凑一些东西才有该有的篇幅,而且说的东西可能东一点西一点,这样一篇看下来不利于检 ...

  7. html5 人物行走

    键盘方向键控制人物上下左右行走 演示地址 点击打开链接 MYCode <html> <head> <meta charset=utf-8> <title> ...

  8. 桥接模式及C++实现 C++设计模式-AbstractFactory抽象工厂模式

    桥接模式及C++实现 桥接模式 先说说桥接模式的定义:将抽象化(Abstraction)与实现化(Implementation)分离,使得二者可以独立地变化. 桥接模式号称设计模式中最难理解的模式之一 ...

  9. 设计模式之 - 工厂方法模式 (Factory Method design pattern)

    1. 模式意图:  定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类. 2. 别名(Virtual Constructor) 3. 结构 4. 工厂方法模式C ...

  10. 利用jquery对ajax操作,详解原理(附代码)

    1. jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selecto ...