电脑屏幕上。
而这时候的他,气场整个变了。
如果说,他先前给人的感觉是冷酷,颓废,神秘。
那么,此时此刻,当面向电脑时,他整个人都像一只瞄准了猎物的雄鹰,犀利而尖锐。
很快,黑人小伙点开了特内尔在刚刚比赛时提交的一段代码。
观察代码十五分钟左右,他敲出了一段hack数据。
程序运行几秒过后,特内尔那段原本已经AC的代码,现在变成了TLE。
一般而言,奥数竞赛的学霸级操作,顶多也就是提前交卷并获得满分而已。
而且,比赛结果一般需要阅卷老师经过一定时间的审核批改。
但CF上的算法比赛不同,他分了两个部分。
第一部分是解题。
由参赛者向平台提交解题代码。
而平台判断代码是否正确的方式,是将题目组事先准备好的样例数据在代码上运行一遍。
如果运行结果全部正确,则判定代码正确,回馈给参赛者一个AC(Accepted)的结果。
像奥数比赛,参赛者只有一次答题机会,提交了试卷就不能修改。
但算法竞赛,参赛者可以在比赛时间内不断提交代码,直到获得AC的结果为止。
当然,提交错误会扣除相应分数就是了。
错误代码一般会反馈WA(回答错误)、TLE(超时)、RE(栈溢出)等等。
而这种现场反馈的特点,也是算法竞赛第二部分的由来——
一般而言,题目组提供的样例数据是有限的。
有些代码,虽然在题目组样例数据上能运行AC。
但还是有可能存在错误。
于是,算法比赛的第二部分,称为HACK。
由参赛者提交代码并获得AC之后,可以选择锁定自己的AC代码。
一旦锁定代码,之后将不能再修改。
但锁定代码的参赛者可以查看其他人的AC代码,寻找其中漏洞,然后自己提交数据让对方的代码重新运行。
这样,对方的代码将被重新判定。
如果运行结果不是AC,那么对方将失去该题的原有得分。
如果对方也锁定了代码,则不能修改代码,该题得分彻底失去。
如果没有锁定代码,将可以修复漏洞后重新提交,重新AC后便又可以获得该题分数。
而这种攻击别人代码的行为,被称为一次成功的hack。
成功的hack不仅可以让参赛者获得分数,还可以让被攻击者失去原有得分。
这也是TT为什么在CF上人人喊打的原因。
因为大多数打CF比赛的算法高手,都是玩第一部分——解题。
真正选择hack别人的人很少。
因为大多数程序员最头痛的事,可能就是在代码里找BUG了。
而找寻别人代码里的bug,比找自己代码里的bug要更难。
你还得将别人的代码逻辑整理一遍。
而且,别人的代码里还不一定存在漏洞。
这对大多数算法高手而言,都是一件吃力不讨好的事。
偏偏TT是个鬼才,他的算法能力不怎么样,hack别人却是一hack一个准。
而刚刚这位黑人小伙,也是只花了十五分钟的时间,就hack了特内尔原本AC的代码!
在场众人,几乎当场认定了此人就是TT,皆是心下一沉。
因为TT的玩法,会让其他被他hack的选手的分数无限降低。
除了赛场上的参赛者,其
本章未完,请翻下一页继续阅读.........