Problem 1001 BestCoder生日快乐

xuanwo | 2015-07-25 18:57:34Author
终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊。 他们叫我代码之神。 到那个时候,我想我一定可以找回你。 一丶 这是一个属于代码的修真世界。 这世界里的每一个人,每一个东西,包括高山大海,刀剑风云,其本质都是一串数字流。 打个比方,如果你知道一块石头的内部数据结构,并且参透其中玄妙,你就能用程序改变它的一切。如果能参透自身这一个复杂的操作系统,就能重新编码自己,获得更大的能力。 所以你的程序水平的高低,决定了你的牛逼程度。 我们这些修真者,都叫程序员。 有人的地方,就有江湖。有江湖的地方,就有代码。 刚入门的时候,师傅跟我说,我们程序员修的,是一份境界。短短几句的代码里,要有最完美的逻辑,跟最精妙的算法。这本《算法导论》,你暂且拿去研修。 我们程序员,外修语言,内修算法。以数据为根,算天算地算自己。 听起来真的好酷。 但这个江湖,并不平静。几大门派,上有微软谷歌,下至百度阿里,每个门派风格迥异,暗地里都有无数摩擦。 师傅说,我们知乎派,理论见长。三大软狗、哦不,三大软神坐镇,还有无数默默搬砖的程序员,如今也算在乱世立稳了脚跟。 师傅还说,江湖虽乱,但我们修真之人,说到底还是要修自身,恩恩怨怨都是过眼云烟,自身境界才是万源之本。 我点了点头。 师傅又拍了拍我的小脑瓜,慈祥一笑。他说,如果下次天涯派那群人还过来闹事,我们一定要秉承我们的自身理念来处理他们。 我知道了,我回师傅道,我跟刘看山一定会好言相劝,么么他们个哒哒。 不。师傅转身过来,鹰眼之中精光毕露,胡须颤动的嘴唇之中,一个字一个字地吐出来。 灰飞烟灭,一个不留。 二丶 自我开始修真起,我练的便是C++的功夫。 虽然大师兄跟我说过,不管你学的事什么语言,都是殊途同归。我们修真之人,都不要在乎这些差别,要参透的是程序的本质。 然后他又说,不过,用Java的都是傻逼。 大师兄跟我一样,C++的功底深厚,面向对象的各种技能用的精通,只是可惜,他还没有对象。 我永远忘不了那一天,我们知乎派的山门被一众凶恶之徒所踏破,山石飞舞,浮尘弥漫,门派服务器都暂停运行。 大师兄坐在大殿房顶之上,喝一壶陈年的竹叶青。姿势潇洒,闷骚至极。 是他们,谁都知道,天涯派不止一次来闹事。 我从来没见过大师兄出过手。 天涯派的来人,在烟尘之中现出数个魁梧身影,还夹带了一声大笑和开场白: 哈哈哈哈哈哈哈,知乎派,hello world! 大师兄的眼皮都没有眨一下。 他的右手之上字符串环流浮现,左手抬起酒壶一饮而尽,右手对着虚空就是一指,那一串字符都消散在空气之中。 刹那间风云突变,一阵狂风似有形一般,沿着大师兄所指方向似一条狂龙横冲了过去,一个照面便将几个大汉吹得撞出山门之外,摔了个七荤八素。 那一霎我屏住呼吸。 大师兄整了整风中凌乱的发型,说,这就叫快速傅里叶变换,将风压重新编码,所到之处,寸草不生。你们都还在解码自己,我已经开始操纵世界——天涯跟知乎,就是在这里的差距,懂? 都他妈的给老子滚。 从那一刻开始,我才知道,有些人已经可以编码这个世界本身。 这才是叫修真。 三丶 在知乎里修行了十年,师傅说我可以下山了。 我已经熟知C++的基本技能,但师傅告诫我千万不要说自己精通C++。他说,这世界上,没有人可以说,他已经精通C++,所以即算你装逼的时候,也要装得像个样子。比如,你可以说你精通java。 我点头称是。 这十年来,我每日苦读《算法导论》和《C++ primer》,精通数据库原理跟操作系统,同龄人之中无人是我敌手,自认为天下哪里都可去得。 是为年轻气盛,是为势不可挡。 我下山之后,连连在江湖之中,将一些有一点点小名气的程序员斩于马下。 他们之中,有些是根基不稳,有些是反应迟钝,有些是冥顽不灵,有些是莽撞愚蠢。 当然,我现在说起来是云淡风轻,那是因为我在装逼。其实也经过了一番苦战,有过一些辛酸。终于有一天,我将天下程序员排行榜第一千位的马特给击败,成功登上天下程序员排行榜。 马特这个程序员,有一些狡猾。他占据第一千位,已经很久没有变过。他精通计算机图形学,经常使用一些幻境击败对手。他比他上面几位更加难缠,所以通常没有人会去挑战他。因为你赢了他,也只能到第一千位,还不如去挑战他上面的更划算一些。 可惜他遇到了我,因为我比他,更精通计算机图形学。 于是这也成为一个不大不小的消息,在江湖里传播,从此我有了一个外号,他们叫我杀马特。 俗话说树大招风,人不能太出名。 有一天看到一个酒馆,我走进去,一个风情万种的女人转过来,她问我,客官,你要喝点什么嘛? 我说,三两竹叶青。 正当我在喝酒的时候,来了一群穿着黑衣的程序员。 这群人,个个怪异,但水平很高。 江湖之中,穿黑衣的程序员,都叫黑客。 来者不善。 他们将我围起来,为首的一人说,他们是做安全的。 我心中陡然一惊。因为我看到了他们衣服里藏着的,三百六十度的环形刀刃。 一百年前,有一个叫奇虎的门派。他们每个人,都有一把神秘的三百六十度的环形刀刃,所以也叫奇虎三六零。他们声称他们的存在,是为了防止世界被破坏,为了保护世界的和平,是为了贯彻爱与真实的勇敢,他们是穿梭在江湖中的三六零。但他们却暗中做了无数秘密勾当,后来江湖人人称之魔教,BAT三大派跟一些其他门派联手围上光明顶,将其灭门。 当然,我们知乎派,也在之中出了不少的力量。 我皱眉喝酒,问他们所为何事。 那为首一人,拿过我的酒壶,仰头一灌。最后一滴酒在壶中滴落之时,无数环形刀刃在我身边出现,他的手中也倏地出现一把,朝我迎面砍来。 竟是偷袭。 刀刃之上闪过的代码我毕生未见,锋利无比,威力惊人。 我虽鼓动全身能量,瞬间编译,但也感觉凶多吉少。 这电光火石一瞬间,只听得铛地一声,数把环形刀刃通通弹落一边,那些黑衣怪人通通倒地。 我靠,我有这么强? 只听得酒馆二楼悠悠传来一个女声。要打去别的地方打吧,进来酒钱都没付,还要打我的客人,这是何理? 原来是酒馆的女老板。 她从二楼飘飘而落,将我身边灰尘一扫而空,朱唇轻启,哎呀,吓到小哥你了,真是对不起。 我以前听师傅说,对于程序员,只有两种东西是天敌。一种是御姐,一种是萝莉。我说我不信。 我现在信了。 四丶 女老板说,可以叫她结衣。 她问我叫什么,我嘟哝了半天,我说我叫杀马特。 结衣说哈哈哈哈哈哈哈你真可爱。 我说结衣,你怎么会这么强。 她说你不懂,我一个弱女子,不懂点编程之术,在这江湖里怎么开酒馆嘛。 我说结衣,你怎么这么好看。 结衣不说话了。 结衣说,你这个小流氓。 我说结衣,师傅说,我们程序员只有两种天敌,一叫御姐,二是萝莉,你是哪一种? 结衣说,我都不是。 我说,哦。其实我心里想着的,是你都是。 结衣,你跟我一起闯荡江湖去好不好? 不好,你还没我强。 哦。那等我比你强了,我们一起去闯荡江湖好不好? 结衣笑了一下说,不好。 于是我就住在了酒馆里。 因为我可能,爱上了这个女人。 我杀马特曾经以为,我这一辈子就只能爱上一个女人。后来我才知道,这世间有万千代码,万物都可编译,但你编译不了的,是自己的心。 结衣是一个看上去很好强,八面玲珑的女人。她的编程水平,比那些排行榜上五百位之后的怂蛋,不知道高到哪里去了,但是她却在这里经营一个小酒馆。 我曾经问过为什么,但是结衣不说。 她只说她在等人。 我想问她是不是在等她的意中人,但是又不好意思开口。我怕是的,那我可能要伤心。师傅说修真的程序员,不能伤心。伤心的程序员,写不出好的代码。 所以我也只能等。 终于等到有一天,那天酒馆外面都是黑漆漆的云,空气里都是紧张的、像墨水混合了砂子一样的味道。可能有沙尘暴。 结衣一脸严肃。 我说结衣,咱们把门关上避一避。 结衣一言不发,站在门口,看向远方。 过了一阵,远处黑云之中,竟然出现一个人影。霎时间,雷光闪动,暴雨如注。 结衣看了我一眼,转身腾空就飞了出去。朝着远处的黑云人影,鼓动着浑身能量,就这么飞了出去。 我大喊一声结衣,然后也跑了出去。雨越下越大,我只能隐隐看见远处电闪雷鸣,我在混乱之中大喊结衣。 他们在交战。 远处代码一行行在云端飞舞盘旋,命令与字节化为巨大的力量,我没有想到结衣竟然强到这个地步。 举手投足,山河变色。 我想起大师兄所说的,有人还在解码自身,有人已经操纵世界。 是一场恶战。 我只能站在下面看,我甚至都不知道他们交战的具体情况。 我心急如焚。 在一个天际的惊雷响彻之后,一道正弦函数冲击波将所有黑云弹射开来,而我只看到结衣在空中坠落的身影。 拨云见日,阳光普照。 在很多年之后,当我再回想起这个情形,还是觉得,即算是临死之时的结衣,在空中的身影,也那么美好。 我抱着结衣,泣不成声。 她看着我,怔怔的看着我。 她说你别哭,真的,这是注定的一天。 她说我们家以前侵入国防系统,被朝廷发现灭门,我侥幸逃脱。但是不管我在哪里,总有一天他们会找上来。 她说你是男孩子,要坚强一点。不坚强一点,你怎么成为最好的程序员。 结衣在那几分钟里,好像想把她一生没讲完的话,都给讲完。 她说的最后一句话是,杀马特,你一定不要忘了我。 然后她就再也没有说话了。 我甚至都没有问过她说,你有心上人吗? 我甚至都没有跟她说过,我是真的很喜欢你。 我甚至都没有吻过她,没有牵过她的手,我们只是这样匆匆遇到,然后匆匆告别。 她的身体将化成一串数字流,失去结构,流向无尽的原野、河流跟大地,化为三月的春风、杨柳跟雨滴。 有些东西,是命。 我的整个程序员修真生涯,在这一天,被分割开来。 对,我杀马特,在这一天之后,是一个一定要成为天下第一的程序员。 为了结衣。 五丶 并非是单单想给结衣报仇。 我们程序员的修真之路,内修自己,外修天地。 当代码可以操控天地这个最为复杂的系统之时,就一定会涉及到世界的本源之处。若这个世界的代码在我眼前一览无遗,或许我可以控制时间。 或许我可以从时间的bug里,找回结衣。 这是我这么多年来的,唯一念想。 毕竟我们程序员,生来就要逆天改命。 之后的时间里,我从程序员排行榜上一路飙升,五年之后跻身前十,成为世界上最优秀的程序员之一。 我树敌无数,也击败无数敌人。他们之中,甚至有自创一门语言的奇才,有号称已然精通C++的装逼犯,有对各类操作系统跟编译原理都熟悉无比的怪才,但是,不管谁,都无法阻挡我杀马特的脚步。 无人可挡。生来彷徨。 但,即算是到了我这样的水准,我也依旧无法知道,如何寻找这个世界里时间的bug,甚至都没有一丝头绪。 每逢debug的夜晚,我都会想起结衣,明媚如歌的笑容,和她从天而落,如佛光普照般的美丽。 但这又时时提醒了我,我可能真的已经离她远去了,而我无能为力。 这世间我认识的高手,都无法为我解答这个问题。 直到有一天,我在山间遇到一个红衣人。 他是个高手,从看到他码出第一行代码的时候,我就知道,这是个绝顶高手。 山野相逢,抛却了身份。我跟他把酒言欢,知无不谈,倒也痛快。 直到我跟他说起关于这世界里,时间的bug。 他说,这世界极有可能是在一个环形循环之中。说罢他从怀里掏出一把刀,却正是奇虎派的那把三百六十度环形刀刃。 他说你看这把刀,我派毕生所愿,即是参透这世界的圆之循环,重新编码,到时候天下唾手可得。 我说,我不想要什么天下,我只要一个女人。 红衣人哈哈大笑,说,那你加入我们,来我奇虎参透这世界运行之时最底层的命令,参透这循环,说不定你就能重新遇到那个女人。 对,我没有犹豫,我答应了。 他说,他叫周红衣。 六丶 我就这么加入了奇虎三六零。 彼时奇虎正在重整旗鼓,周红衣想要东山再起,他不能少了我这个助力。 从此我手里多了一把,三百六十度的,环形刀刃。 萧萧狼烟,江湖恩怨再起。 人在江湖,真的身不由己。 我一边参悟奇虎派祖传的代码跟算法,一边帮奇虎派征战天下。 我是知乎派出身,根正苗红,师傅知我落入魔教之手,吐出一口老血。孽徒,孽徒啊。他们也曾劝降,但我不为所动。 我心中,有我自己的编程之道。 所以我很清楚自己在干什么。我很清楚,男孩子,要坚强。 奇虎的势力扩张得很快,但正邪势不两立,BAT三大派见天下形势如此,便要集结程序员部队,重新再上一次光明顶。 他们说,一百年前能灭的,现在也能灭。 光明顶,是我奇虎派的大本营。 而他们带队之人,正是当今天下排行第一的程序员,出身知乎、神龙见首不见尾的大师兄。 大师兄,真的好久不见。 说实话,虽从一开始,我便知道自己背负的是什么,但我也并未想过,有一天要跟大师兄动手。也许在成为男人的路上,杀死偶像,都是不可避免的一环。 大师兄还是酒壶一把,桀骜不驯。他说傻小子,你现在过来,还真的来得及。 我说大师兄,皇皇天下,哪有什么正邪分家。无非是你来我往,你抢我杀。咱们做程序员的都知道,手底下见真章。 大师兄喝酒,哈哈大笑,他说你有长进,然后把酒壶朝天一扔。 Talk is cheap,show me the code。 七丶 与大师兄交战之前,我正参悟到这个世界代码的一些关键之处。 如今一战,倒是针尖对麦芒。大师兄的编程能力,已然步入化境。代码不在手上,已在心中。物质都是数据,规则都是代码,一时间天地轰隆,流云沐风皆能当锋利兵器,重力气压都能做任意改变,我跟大师兄从天到地,战了个平分秋色。 大师兄说,没想到你小子这么难缠。 大师兄说,对不起,我必须解决掉你。 为了正义。 我从没见他说过对不起,这正如他一定会放一个前所未见的大招一样可怕。 大师兄操纵无数代码,打入大地之中,蓦地瞬间,我感觉脚底重力似乎加大了无数倍。 好沉。 好一个无限重力流。 我们这边的程序员,要么被强大重力挤压变形,最舒服的也寸步不能动弹。 大师兄竟然还没有结束,他接着操纵无数代码,打入遥远天空之中,竟从无垠星海之中召来巨大陨石。 陨石当空,重力无限。 这两者相结合,他竟凭他一人之力,要横扫整个奇虎。 不愧是天下第一的旷世奇才。我承认,面对这样的攻势,我并没有什么好的办法。 但我也不后悔。 既然踏上这条路,我就没有打算过回头。 陨石从我头上落下之时,生死交错的瞬间,我仿佛又看到结衣的脸,像电影一般飞驰而过的场面。 我突然领悟到些什么。 我在那一瞬也打出无数代码,我打出的代码,跟大师兄的,一模一样。 复制代码,通常比较容易。 我脚下重力瞬间又加大无数倍,其他的程序员早已不堪重负,化为一摊数据流。而那个陨石速度越来越快,擦出巨大的热浪火花,空间都变形扭曲,周围一切化为粉末,消散无形。 我以为那个瞬间我已经死了。 而我在那一个瞬间,看到了在弯曲变形的前方,有一个时空的奇点。 时间是一个圆。 我靠近它,向死而生。 前方白光一片。 八丶 我睁开眼。 眼前是那个熟悉的酒馆。 我走进去,一个风情万种的女人转过来。 她问我,客官,你要喝点什么嘛? 完。