003 重要的决定(第1页)
比赛开始,oj页面在持续不断地f5刷新中突然跳出了题目列表。
彭峰瞥见隔壁肖乐的队伍正麻利地拆掉试题册的订书钉,他立刻有样学样,三两下將试题册拆成散页。
郭晓川瞬间明白过来,解释道:“acm比赛是三人共用一台电脑,没法並行读题,所以通常会发三份纸质题册。校赛大概为了控制成本,每个队只发一份。拆开才能让每个人都分到题目同时看。”
“这道计算题看起来能做!”陈小燕很快指著一道题说,“和a+b差不多,就是把几个数按规则算算。”
她立刻坐到电脑前敲代码,十分钟后代码成型,点击提交却弹出刺眼的“wronganswer”(wa,答案错误)。
彭峰的指尖划过屏幕上那行无情的文字:“回答错误……会不会是格式错了?题目说有多组输入,你看咱们写的是『输入一个,算一个,输出一个,黑框里会是这样。”他打开了windows的记事本,把运行的结果粘贴进去:
输入1
输出1
输入2
输出2
……
“但是样例看起来输入和输出是分开的”,他在windows记事本里继续敲:
输入1
输入2
……
输出1
输出2
……
“是不是得先把答案存起来,最后再一起输出?”彭峰看向郭晓川。
郭晓川也没遇到过这样的情况,皱著眉点头道:“试试看吧。”
陈小燕立刻修改代码,开了个数组存计算结果,再次提交却换来“runtimeerror”(re,运行时错误)的报错。
“逻辑不复杂啊,怎么会运行出错?”她皱著眉反覆拖动滚动条检查代码,循环条件改了又改,数组大小调了又调,提交记录里wa、re与“timelimitexceeded”(tle,运行超时)交替出现。
“这样也过不了吗?”有力使不出的感觉让她语带焦躁。
郭晓川翻到另一道题:“我试试这个斐波那契数列,初中就学过,每个数是前两个数之和,1、1、2、3、5……”语气带著找到熟悉领域的兴奋,“题目就多了个对1000000007取模,用『%符號就行。”
“这题不是多组测试数据,和我在poj做过的几个题差不多,起码能排除格式问题。”郭晓川边说著边开始敲代码。几行循环写完,样例测试无误,提交后却也弹出“tle”。
“哦!这个题的n很大,代码跑太久超过1秒时限了!”郭晓川恍然大悟,思考片刻后,“那也有办法,我高中时候用特徵根方程解过通项公式,直接代公式不用循环,应该能快。”
acm是“开卷”比赛,允许带纸质资料,他立刻翻开c语言课本,手指迅速划过页面,查找开根號等操作的语法,很快调整好代码。
“人生第一次比赛中的ac(accepted)要来了?”郭晓川点提交时,心跳忍不住加速,可屏幕跳出的还是“wronganswer”。