第十章图形问题
便条上写着“如果想要做一位厉害的魔语者,那么一定要能够写出厉害的魔语,而若是要写出厉害的魔语,那么低时间复杂度,低空间复杂度,健壮性,都是必不可少的。书后的卡片,是装载着题目的评测魔器,将它按在额头,它会告诉你怎么做。”
尼尔拿起便条后面的卡片,这是一张雕刻着繁复花纹,中间镶嵌着一块水晶的巴掌大小的铁皮卡片,正是和当初阿道夫用来测试学生资质用的卡片一模一样,尼尔讲卡片的水晶处对上额头,一股奇怪的感觉出现了,一段段的数据流入了尼尔的运算核心,内存,然后通过一块一端链接到脑部的组织,变成了一股尼尔能够理解的信息,就像是看书一般,一股股文字直接变成尼尔能够理解的意思,进入到了尼尔的意识中。
“欢迎使用阿道夫评测系统,使用者需要根据题意,写出对应的魔语,来解决对应的问题。下面进入第一道专题合集,图形问题,第一题,不等大的三角形。”
这种意识流很奇怪,就好像是一种类似耳朵的新的器官一样,明明没有声音,却好像有一个人在脑子里说话,就像是思考时脑袋里的声音一样。
“阿道夫大师在余晖山脉时,遇上了当地的土著,他们有一个习俗,喜欢用石块搭建大小为n的不等大的三角形金字塔,即最底下的一行为n个石块,阿道夫大师希望你能写出一个魔语帮助他们,请使用t,获取我指定的大小n。考虑到化石术的难度,请使用prt画出三角形的样子”
说着,评测机在尼尔的大脑里呈现了几组样例。
3
4
尼尔开始在脑中思索起来,一堆堆的魔语语法,凌乱的想法,在脑中开始碰撞,魔语的语法其实很简单,经过许多前辈的努力,已经简化到了极简,循环,条件,函数,只需要这三个部分,便可以做出无比复杂的事情。
尼尔首先做的,便是常人最常见的想法,观察联想,这两个三角形,从最底下开始,每一行开始减少一个,而最底下的数目,正好等于n,而行数,也正好等于n,那么,也就是说,我一共需要画出n行!所以,一开始,应该要有一个循环,控制这n行的画出,那么第一步,应该是
whlie(行数≈n)
{
行数++;
}
(这个的意思是,当条件满足时,一直执行里面的内容)
那么,每一行应该怎么样呢?
第一行是三个空格,一个,第二行是两个空格,两个,第三行是一个空格,这中间有什么规律呢?
尼尔在纸上画下了空格是数目,和的数目,发现他们加起来,都正好等于n的数目,所以,每一行,都需要有n个符号么?但是每一行的号数目都是不同的,所以到底由谁去控制这个空格的数目,和号的数目呢?尼尔看下自己写下的魔语,突然发现,行数的数目是不是正好等于号的数目?那么,n-行数,是不是就是空格的数目呢?所以,这一题,就是这样了!
尼尔兴奋无比的补全剩余的答案,
whlie(行数≈n)
{
while(空格数≈n-行数)
{prtf(“”);}
while(石头数≈行数)
{prtf(“”);}
行数++;
}
尼尔立马念诵魔语,将参数3赋值给n,一股股奇异的能量开始全力进入运算核心,开始运转,空气便如同昨日第一次呼唤一般,开始震动,然后在尼尔的面前出现了一道淡淡的黑色字迹,却不是尼尔期望的样子,它是这样的,尼尔有些纳闷,为什么会不成三角形?
尼尔用思绪介入运算核心,让其一步步慢慢运转,然后发现了问题。
当打印出每一行的最后一个后,还需要做另外一件事情,换行!
所以,完整的答案,应该是
whlie(行数≈n)
{
while(空格数≈n-行数)
{prtf(“”);}
while(石头数≈行数)
{prtf(“”);}
prtf(“\n”);
行数++;
}
(c++语法,\n就是换行,就是你打字的时候敲一下回车的效果)
尼尔再次实验了一下,终于得到了预期的效果,评测机接受了尼尔的答案,给出了一个绿色的aept(接受,通过,玩一下oj就知道了。国际比赛通用规则),
尼尔没有继续往下做,而是开始回味起刚刚的思考过程。
魔能是没有思想的,机械的,固定的,你让它做什么,它就做什么,但是同时它也是迅捷的,快速的,远远超越了人类思考的速度,所以,需要用魔语提前告诉计算核心,什么情况下,应该怎么做。这便是魔语,所以魔语的本质,其实就是控制,而控制的基础,就是要找到世间万物运行的规律。
尼尔是一个很有悟性的人,他并没有急着一个个题目的往下去看,只是做完一道题目,尼尔就大致明白了,阿道夫老师的意图,学会魔语语法其实并不难,难的其实是如何去使用,去组合,去控制,难学会的,是这种思考问题的方式,是粗暴的使用while循环累加1到100,还是直接使用最简单的极简的数学规律,(1+100)100/2,真相是抽象的,是脱离了具体形象的,但是却也是最通用,最真实的。所有的规律都可以脱去其繁复而又带有歧义的语言描叙,转换成一行行精确而又没有二义性的魔语。所有的一切都可以脱去富丽堂皇,繁复灿烂的外表,变成一道道冷冷冰冰,机械而又准确的规律,真实。
只是,凡人很难触摸到真实。
(作为一个垃圾程序员,我只能说,我也是凡人一个,大佬写的代码看都看不懂。)
&/div>