首頁(yè) 都市

我的妹妹是學(xué)霸

第一百一十四章 兩分鐘講解

我的妹妹是學(xué)霸 超級(jí)葉子 2074 2018-09-03 23:37:43

  很快,高三的那名學(xué)長(zhǎng)就講完了自己的代碼,整個(gè)過(guò)程中非常流暢。

  最后,張老師總結(jié)道:“這位同學(xué)講解的非常棒,思路也很清晰,并且代碼沒有出現(xiàn)什么錯(cuò)誤?!?p>  隨著張老師話音落下,多媒體教室里掌聲響起,那名學(xué)長(zhǎng)自信地走下了講臺(tái),而張老師則最終給他了一個(gè)20分。

  臺(tái)下的學(xué)生們爆發(fā)出一陣陣驚呼。這個(gè)分?jǐn)?shù)就是現(xiàn)在所有人之中分?jǐn)?shù)最高的了,也是這次競(jìng)賽中分?jǐn)?shù)最高的了。

  至于最后一組?

  大家已經(jīng)忘記了還有最后一組。

  前四名已經(jīng)確定了,高三兩組,高二兩組,高一全軍覆沒。如果那名李神所在隊(duì)伍在代碼上沒有出現(xiàn)錯(cuò)誤的話,可以擠掉高二的一個(gè)名額。

  張老師雙手平放,示意大家停止掌聲,然后拿起了最后一張寫滿代碼的草稿紙。

  “那么,現(xiàn)在就剩最后一組了,我們歡迎,高一夢(mèng)響隊(duì)來(lái)講解他們的代碼?!痹谀钪值耐瑫r(shí),張棟梁也飛快的瞟了一眼草稿紙上的代碼,看了幾眼關(guān)鍵的函數(shù)之后,他就明白了這個(gè)隊(duì)伍的解題思路。

  和剛剛那名高三學(xué)生的方法基本一致,寫法上更加優(yōu)美一些,如果講解不錯(cuò)的話,他也打算給這個(gè)隊(duì)伍20分。

  這么短的時(shí)間內(nèi)能想出這個(gè)方法并且寫出來(lái),在他看來(lái)已經(jīng)非常不錯(cuò)了,正??荚嚂r(shí),都是一兩小時(shí)一個(gè)題,而且還是用鍵盤的情況下。畢竟,手?jǐn)]代碼和鍵盤寫代碼之間的差別對(duì)大部分人來(lái)說(shuō)還是很大的。

  教室里再次響起了掌聲,只是相比剛剛那名高三學(xué)長(zhǎng)下臺(tái)的時(shí)候的掌聲來(lái)說(shuō),顯得稀疏了一些,特別占了絕大多數(shù)的高一學(xué)生,已經(jīng)對(duì)孟響兩人不抱希望了。畢竟他們之前都沒在電教室看到過(guò)這兩兄妹,一看就知道兩人是新手。能在這么短的時(shí)間內(nèi)寫出代碼上交并且不出錯(cuò)已經(jīng)證明了夢(mèng)神很有天賦了,至于能為高一爭(zhēng)一個(gè)前四。

  那......有點(diǎn)兒癡人說(shuō)夢(mèng)了。

  孟夢(mèng)推了哥哥一把,孟響聽到自己的名字后迅速放下了手中寫好代碼的草稿紙,站起身來(lái)。

  “哥哥加油?!泵蠅?mèng)還是鼓勵(lì)道,雖然他們的解題方法和高三那名學(xué)長(zhǎng)的一致,不能展示自己和哥哥剛剛想出來(lái)的更好方法讓她有些遺憾。但是現(xiàn)在也只能先把已有的代碼講好,拿到一個(gè)名次才是最終要的。

  “嗯~~”孟響用力點(diǎn)了點(diǎn)頭,他心里已經(jīng)有了打算。

  走上講臺(tái),孟響從張老師手中接過(guò)了自己寫滿代碼和注釋的草稿紙。

  同時(shí)從電腦講臺(tái)上拿起一只黑色的涂鴉筆。

  “那現(xiàn)在開始吧?”張棟梁?jiǎn)柕?,只是他有些疑惑孟響為什么要拿筆。畢竟講解代碼只需要把草稿紙放在投影上然后依次講解就行,并不需要寫和畫什么。

  孟響看了看身旁的那塊白色小板,稍稍計(jì)算了一下尺寸,心里篤定,同時(shí)點(diǎn)了點(diǎn)頭回答:“好的?!?p>  隨著張棟梁開始計(jì)時(shí),孟響沒有浪費(fèi)時(shí)間,他把草稿紙放在投影儀下,背投上出現(xiàn)了他的代碼。同時(shí),他一手拿著筆一手拿著話筒快速說(shuō)道:“現(xiàn)在大家看到的是我們組的解法,其實(shí)我們組的解法其實(shí)和剛剛那位學(xué)長(zhǎng)的差不多,但是剛剛我們組員突然想出了一種更加好的解法,所以我現(xiàn)在打算講解我們新的解法?!?p>  底下坐在靠前的學(xué)生們嘴巴都張成了“O”型。

  同時(shí)還有一些騷動(dòng),大伙聽完孟響的話之后,開始竊竊私語(yǔ)。

  孟響說(shuō)完,就快速走到白色小板前,一邊寫著一邊開始講解:“我們組心新想到的是位運(yùn)算法,因?yàn)闀r(shí)間原因,我一邊寫代碼一邊講解?!?p>  而張棟梁也被位運(yùn)算法勾起了好奇,因?yàn)檫@確實(shí)是目前N皇后問(wèn)題的最優(yōu)解法。白書上就有這個(gè)解法的例子。但是例子歸例子,理解起來(lái)可不是那么容易的,更別說(shuō)講解了。

  孟夢(mèng)坐在底下捂著臉趴在桌子上,不斷地磨著牙。

  哥哥怎么可能寫得完,只有兩分鐘時(shí)間,完蛋了,她們要得0分了。

  想到這,孟夢(mèng)就有股想上臺(tái)把哥哥拽下來(lái)自己去講解的沖動(dòng)。

  但是想了想,她不會(huì)代碼,只能放棄。

  得0分,好丟人呀!

  孟夢(mèng)的小腦袋不斷往自己的手臂彎里鉆著,一副非??鄲赖哪印?p>  孟響一邊寫代碼,沒有絲毫停頓,一邊講解道:“這個(gè)算法的核心就是使用bit數(shù)組來(lái)代替以前由int或者bool數(shù)組來(lái)存儲(chǔ)當(dāng)前格子被占用的情況?!?p>  “程序中主要需要三個(gè)bit數(shù)組,每個(gè)對(duì)應(yīng)的是N皇后格子的一列和正斜列和反斜列?!泵享懸贿呎f(shuō),一邊寫了一個(gè)函數(shù):

  void test(long row,long ld,long rd)......

  “其中row表示一列上是否有皇后,如果有則是1,如果沒有就是0,ld和rd分別表示正斜列和反斜列是否有皇后,接著我們要對(duì)這三個(gè)參數(shù)進(jìn)行或運(yùn)算,求得所有可以放置皇后的列,對(duì)應(yīng)位是0。”

  大伙瞪大了眼睛,看著孟響手中飛速舞動(dòng)的黑色涂鴉筆,一行行代碼整齊的展現(xiàn)在白色小板上。

  “然后,我們要對(duì)結(jié)果取反,取反之后與上全1的數(shù),來(lái)求得當(dāng)前所有可以放置皇后的位置,對(duì)應(yīng)列數(shù)改為1,也就是求取當(dāng)前哪些列可以放皇后?!闭f(shuō)到這,孟響連續(xù)寫下了數(shù)個(gè)表達(dá)式。

  大部分學(xué)生只能懵逼的看著孟響一邊講一邊寫代碼,只有小部分人能夠勉強(qiáng)跟上孟響的思路。畢竟,即便是自己去理解這種位運(yùn)算,沒有十多分鐘也很難理解,更別說(shuō)這短短的兩分鐘之內(nèi)了。

  而張棟梁站在一旁看著孟響,在他看來(lái),目前孟響的代碼還沒有什么錯(cuò)誤,講解對(duì)他來(lái)說(shuō)也非常詳細(xì)。

  “pos&-pos的意思就是取最右邊的1再組成二進(jìn)制數(shù)?!?p>  “然后......將pos最右邊為1的bit清零?!?p>  “......”

  “row所有位都為1時(shí),即找到了一個(gè)成功的布局,然后我們記錄下來(lái),回溯?!?p>  “然后我們考慮棋盤的對(duì)稱性......”

  孟響的語(yǔ)速越來(lái)越快,手中的書寫速度也越來(lái)越快,隨著時(shí)間逐漸走向終點(diǎn),在眾人以及妹妹驚訝的眼神中,他趕在時(shí)間到達(dá)前,寫完和講解完了位運(yùn)算的方法。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁(yè)
返回書頁(yè)
指南