Codeforces的比賽過程也非常有趣。
每場比賽, 參賽成員每40人左右會進入同一個房間,同時開始讀題、答題。
Codeforces賽製的題目會有兩套數據,一套稱為預測試數據, 另一套稱為係統測試數據。
在比賽進行期間,如果選手寫完答案, 並且對自己的答案足夠自信的話,就可以在比賽結束之前提前提交。
比賽進行期間提交的答案, 將會用預測試數據測評――如果通過,則會顯示預測試通過;如果沒有通過,將會顯示錯誤編號和錯誤類型,並且還會被罰扣50分。
但是,預測試通過,並不代表提交的代碼就完全沒有問題了。
當一道題目通過預測試後, 就可以單擊題目列表中那一道題目後麵的“鎖”的符號――把這道題目鎖定。
當一道題目被鎖定後, 這道題就不能再次提交了。
但是鎖題後, 選手就可以查看同一個房間中其它也鎖題了的競爭者的本題代碼!
如果能找到其他人代碼中的錯誤, 就可以向對方發起攻擊!
具體做的做法, 就是提交一組測試數據, 導致對方的代碼錯誤, 比如說Wronganswer。
一次成功的攻擊,就可以獲得100分!
不過,如果發動攻擊卻失敗了, 就要倒扣50分。
這樣可以攻擊對手,讓對手扣分、給自己加分的功能,當然非常有趣、非常刺激。
但是, 鎖定了題目不能解鎖,也不能再提交。
也就是說, 攻擊彆人的同時,自己也有被攻擊的風險。如果自己的程序中有錯誤,那麼在攻擊彆人時,彆人也都能來攻擊你。
而這時,已經鎖定的題目是無法修改的。如果被選手攻擊了,即使意識到自己哪裡出錯了,也沒辦法再改,隻能心痛地看著自己被攻擊扣分,-50,-50,-50……
在比賽時間結束後,還會有係統測試。
就是將已經通過預測試的程度,再測試一套數據。通過係統測試的程序,才算真正答題正確,得到最終分數,否則不得分。
比賽規則如此的情況下,絕大部分選手鎖題都會非常謹慎,要對自己的程序十分自信,才會按下“鎖”這個按鈕。
而雲歌打破了這一切。
直播間裡的觀眾們發現,三個小時的比賽,雲歌在二十分鐘後就會鎖題!
雲歌的直播迅速在編程愛好者的圈子裡傳開。
許多編程愛好者們得知有這樣一個直播間後,紛紛慕名而來,看雲歌直播編程、鎖題、攻擊對手。
外行看熱鬨內行看門道,雖然雲歌在直播時一句話都不會說,但是編程愛好者們看到雲歌的編程過程就非常激動了。
“這個問題竟然還能這樣解決!”
“臥槽!太快了吧!!”
“三個小時的題目,雲歌隻用十幾分鐘就能完美解決!”
“我十幾分鐘連題目都還沒讀懂……”
毫無疑問,有雲歌參與的比賽場次,雲歌是永遠的第一。
直播間的觀眾們紛紛開始打賭,打賭雲歌能夠連續拿到多少場比賽的第一名,會在多少場連續第一後,拿到第一以外的名字。
5場、10場、20場……
一開始觀眾們還在計數,然而到後來,已經數都數不清了。
直播間觀眾:……不數了,沒意義。
大概雲歌就會這樣一直拿第一、一直拿第一……
雲歌的積分,自然也在排行榜上一路上升,從1500分升到2000分、從2000分升到3000分……
積分飛一般上升的速度,引起了更多編程愛好者的注意。許多早就離開Codeforces的退役選手,有人已經讀大學了、有人在讀研讀博、有人已經工作多年,絕大多數都在當程序員,當然也有少數人已經離開程序員這個行業。
曾經在Codeforces上打過競賽的選手們,也未必人人都在OI競賽上走得很遠,也有一些或是因為實力或是因為運氣,很早就止步的人。甚至還有一些沒有參加過OI競賽,在二十多歲或者三十多歲才對編程產生興趣,然後因為興趣在Codeforces上大競賽的人們,這些人中也有實力強勁的選手。
總之,近期就活躍在Codeforces上的選手們紛紛增加比賽場次,早就離開Codeforces的選手們也紛紛回到這裡――都是為了能夠和雲歌在同一個房間裡進行一場比賽!
所有人都想中斷雲歌的連勝奇跡!
此時此刻,如果有誰能中斷雲歌的連勝奇跡,將雲歌從第一名的位置上趕下來,那麼無疑,那個人的名字將和雲歌的名字“Yun”一樣出名!
然而“Yun”從青色變成藍色、變成紫色、變成橙色、變成紅色……依舊沒有一個人能夠打斷雲歌的連勝。
很快,許多選手都放棄了打斷雲歌的連勝這一想法,因為這看起來希望太過渺茫了。
許多選手降低目標,換了一個難度變低很多的目標――找到雲歌的錯誤,成功攻擊雲歌一次!
這些選手放棄了自己的程序,隻要自己的程序能通過預測試,立刻鎖掉!他們無所謂自己的程序有沒有錯誤和漏洞,會不會被彆的選手攻擊扣分。也就是說,他們不惜犧牲自己的積分和段位,隻為了能夠多換來一些時間,用來攻擊雲歌!