這種簡單粗暴的方式印證了他的猜想,顏安果然是在亂寫的,因為即便是他來寫這道題,也很難將代碼量壓縮到這種地步。
雖然他還沒開始寫,但初步預估就得要四十行代碼,完全不是顏安這種二十五行代碼能解決的題。
如果顏安寫的其他題目也是像這樣只有二十幾行的話,那二十分鐘搞定四題完全不成問題。
可這有用嗎?代碼追求的是短小沒錯,但還有個最重要最基本的前提是得能運行出結果。
沒有結果的代碼,還不如窮舉法。
如果靠短就能拿分的話,一句“hello,world”豈不就是全場最高分。
林景默默嘆了口氣,內心早已麻木。
他還以為學弟是不放棄精神,結果等他振作起來一看,哪里是不放棄,這分明是擺爛加自暴自棄加自欺欺人。
痛苦的揉了揉太陽穴,刪了重來吧,連看都不想看直接就選中全部按下了退格鍵。
正在一邊等另一臺電腦啟動軟件的顏安注意到他的動作,“學長你刪我代碼干嘛?”
這未免也太過分了。
就算是以前他發現了學長的錯誤也沒有這么干過啊,他還好心好意的加上備注指出錯誤并提出自己的觀點,然后發回給學長。
他這么好心,結果換來的卻是這樣的對待。
一把從學長手中搶過鍵盤,還好能撤銷刪除操作,顏安將代碼恢復后立即點擊運行。
沒等多久,控制臺上出現了代碼的運行結果,“你看,這代碼是沒問題的,可以運行。”
關注到這邊動靜的老師也走了過來,低頭看了一眼屏幕,滿意的點了點頭。
“結果確實正確,沒想到你這兩天技術提升蠻快嘛,是不是掉到哪個懸崖下面撿了武功秘籍啊?說出來讓老師也去撞撞大運。”
對于他兩天沒有參加訓練的事,老師已經不計較了,至少這技術水平提升了。
放在兩天前,顏安就算能寫出這道題來,也很難想到用高位前綴來解題,這得需要顏安對所運用的方法非常熟悉才行。
出乎林景預計的結果讓他傻了眼,呆滯的看了一眼老師,又看了一眼顏安,發現自己才是那個無知又擺爛的家伙。
連忙給顏安道歉,好在被發現的及時,不然的話林景都不知道自己該怎么取得顏安的原諒。
在這之后,已經知道倒數第五題被顏安完美解決的他并沒有立即開始對下一題動手,而是認認真真的開始閱讀起顏安的代碼。
畢竟如果讓他來寫,怎么著也得四十行起步,而且要比顏安的代碼更復雜,所以就很好奇顏安用的是什么方法,和他比優點在哪。
這一看,就沉迷進去了。
代碼精簡其中的思想不容易領會,他想了好一會,才明白這是運用了高位前綴和來解題。
由于正面枚舉并不好做,顏安就考慮反面情況即題目中兩人會的領域,其中一個人是另一個人的子集。
……
那么對于某一個狀態s,直接就能得到有多少個狀態t,滿足t包含于s。
得出答案為n(n-1)2再減掉非法方案。
理解代碼后的林景徐徐吐出一口氣,不得不對顏安刮目相看,高位前綴難嗎?
難也不難,反正他沒想到用這個方法解題,那對他來說,就是一個需要補足的點。
看完一題的他立即進入到下一題,這一次沒有刪除顏安的代碼,而是在確定能夠運行后再度全身心投入到閱讀代碼中去了。</p>