第二百二十八章 山外有山

類別:都市言情 作者:漫言紅袖字數:2685更新時間:24/06/28 12:51:38
    個人解答的第一道程序實操題難度一般,屬於剛看完就有思路並且沒有太多卡殼點的基礎題。

    考驗基本功與熟練度。

    李顏剛看完題目準備上手,餘光掃到大屏幕出現了另一條提示:

    “第一階段題目第二位完成:B-7,新北中學,鄧宇迪,用時29:28”

    他分神看的這一瞬間,又有第三條:

    “第一階段題目第三位完成:A-11,新安中學,鄭達,用時29:30”

    這人李顏知道是誰,新安中學真正應該被重視的潛力股,高一拿下了聯賽高中提高組第二的成績,第一正是鄧宇迪。

    李顏笑着微微點頭,感慨自己果然沒有看錯人,不過也多了一點緊迫感。

    挺好的,這才有競賽的感覺。

    無敵確實是會寂寞的,所以他需要更大的舞臺,哪怕是一些挫折打擊也無所謂。

    屏幕只顯示前三位完成的數據,從顯示比例來看,應該是三階段的前三位完成記錄會同時在上邊顯示……三階段都是第一個完成的話,確實能狠狠刷一波存在感。

    李顏並不想分神,也確實沒有分神。只是掃了這麼一眼,腦子就稀里嘩啦分析一堆東西。

    手上的動作是不帶停的,基礎題目思路就那樣,比速度的話,考驗的還是對於寫代碼的熟練程度。

    很快這道題就被解決了,李顏自信點擊提交,看到了下一題:

    素數,是僅有其本身和數字1兩個約數的數,例如1、3、5、7、17、101和10007……

    李顏一瞬間似乎看到了出題老師自信的表情,這個開頭看起來,題目難度應該會提升一個臺階。

    “輸入一個單詞集合,每個單詞由a-z的字母組成。每個字母對應一個特定的值,字母a對應1,b對應2,以此類推。

    若一個單詞的字母總和爲素數,則這個單詞是素單詞(prime world),請編寫程序,判定一個單詞是否爲素單詞。

    如果一個單詞字母的和爲素數,則輸出It is a prime word,反之則輸出It is not a prime word”

    李顏其實馬上就有思路了,單詞長度有限,對應數字有限,可以算出來一個上限數字,再把範圍內的素數篩選出來做一個集合u,然後直接套公式計算單詞字母對應的數字和x,將結果跟素數集合直接比對,結果是u[x]=1就輸出It is a prime word,反之同理,問題得解。

    在李顏看來,後邊套公式計算並不是這道題真正的難度,真正考驗的是素數篩選。

    要知道,“吸入硅酸鹽細末或石英岩灰而形成的肺塵埃沉着病”的英文,是pneumonoultramicyoscpicailicovolcanoconiosis,特麼的有整整45個字母。

    這還不一定就是最長的,只是李顏知道的最長單詞,就算取平均值13,來一個50個字母的單詞,上限就去到650了。

    這個素數可不太好篩啊……

    不對,問題不在這,如果不知道上限在哪,萬一這世界上有1913個字母組成的單詞呢?

    某些專業名詞鬼知道會整出什麼來,那這素數篩選難道還要給算到兩萬去嗎?

    這難度可不是鬧着玩的啊。

    一瞬間,李顏意識到不對,這還不是最難的雙人合作題,他這種全能戰神都舉棋不定的問題,其他人玩蛇?

    他鬼使神差地把鼠標滾輪一推:

    “輸入給出一個單詞集合,單詞字母隨機組成,每個單詞一行,字母數量不超過20”

    我尼瑪……他一瞬間差點把手摳進鍵盤裏,怎麼看題目都像結束了,怎麼偏偏這一行給藏了起來!

    不超過20,隨機給定,也就是上限值不超過520,只需要篩選1到520之間的素數就行了。

    怎麼篩?硬篩。

    李顏背過1到300的素數集,剩下的排除一些顯而易見的合數之後,需要計算的也並不多。

    媽的,早知道直接背到1000了,這會兒不是直接嘎嘎亂殺?

    一道並不算太難的題愣是給李顏自己整出了緊張感,素數篩選集一搞完,他馬不停蹄地開始構建公式。

    最終他連檢查都不做,在寫完程序的那一刻直接點擊了提交。

    叮咚!

    “第二階段題目首位完成:B-7,新北中學,鄧宇迪,用時34:41”

    “第二階段題目第二位完成:E-12,新北一中,李顏,用時36:54”

    臥槽?全場都躁動了,有些人才剛剛開始進入第二階段,特麼有兩個搞完第二階段了?

    這個新北一中不是初中嗎?初中生裝什麼……然後他們看清楚了名字是李顏,玩真的?

    金理事旁邊的年輕女性,也就是臨江省計算機協會的張副主席有些驚訝,“四個半小時的考試,兩個階段只用了一小時?是不是太誇張了點?”

    “超出預期,不是挺好的嗎?”金理事笑道。

    不過他內心其實不太有譜,要是李顏最後就是在譁衆取寵,他的臉面也掛不住啊。

    臺下的李顏有點震驚,第二階段的題目鄧宇迪開始得比他慢點,就算他一開始沒看全題目耽誤了點時間,這鄧宇迪至少也是跟他花費基本一致的時間解決二階段的。

    李顏很自信他的手速鄧宇迪比不上,所以基礎題李顏應該更快點。

    那這個鄧宇迪靠什麼在第二題比背了1到300之間素數的李顏快?

    兩個可能,一是鄧宇迪背了1到520之間的素數;二是這傢伙直接寫了個程序篩選素數——而且還很高效。

    不管是哪個可能,這傢伙確實是個狠角色啊……

    不過現在該把精力集中在第三階段,也就是合作題目上了,這道題無疑會是今天最難——或者工作量最大,只是陳凡還沒搞定,李顏暫時只能自己琢磨:

    “給出直線的若幹條線段,直線是X軸,線段的座標爲[Li,Ri]。求最少要用多少條線段可以覆蓋區間[0,m]。”

    李顏微微皺起眉頭,這題目看起來不太對勁。

    “輸入的第一行給出測試用例的數目,後面給出一個空行。

    每個測試用例首先給出一個整數M(M小於等於5000大於等於1),接下來若干行,每行以‘Li Ri’表示線段……”

    “輸出:對每個測試用例,輸出的第一行是一個數字,表示覆蓋區間[0,m]的最少線段數。接下來若干行表示選擇的線段,給出線段的座標,按左端排序。若無解,即[0,m]不可能被給出的線段覆蓋,則輸出0……”

    難度確實有,李顏看完題目沒有立馬上手,這種類型的題要是匆匆忙忙整出了bug,修程序的投入的時間成本會更高。

    必須先有一個足夠完整可行的思路。

    大屏幕也有了二階段的第三位完成者:

    “第二階段題目第三位完成:E-11,新北一中,陳凡,用時45:02”

    45分?他可不止晚了這麼幾分鐘,看來陳凡回答筆試題目花的時間還不少。

    不過也是,“快”本來就不是本次考試的主要需求。

    “李顏?”陳凡的聲音從耳機傳來。

    “收到。”

    “你怎麼這麼快?那個鄧宇迪也瘋了,一個個這麼快,沒必要啊!”

    確實,最後一題雖然難搞,三小時怎麼都夠了,以保證正確率爲基礎,在這之上提升思路的精彩程度,才是首要的事情。

    李顏純屬想裝逼,就是不知道這位鄧宇迪是怎麼回事。

    “你不也挺快的?第二階段殺進前三了。”李顏確實感到驚訝,陳凡一直以來都不以速度爲優勢,居然能在強手林立的高中主場拿下一個展示位。

    “噢,我背了0到600之間的素數,上一題省了好多功夫。”

    您?

    吐槽的話就先免了,還是看看題吧。

    “出名要趁早啊,陳凡。”

    (本章完)