讲解台上的几位嘉宾互相看了几眼,眼神非常有趣。
一个烫了卷发的年轻女性捂着嘴,对身旁的金理事说道:“是你推荐的那个孩子吧?”
金理事端正着坐姿,微笑点头,“他确实很不简单,我也在期待他的表现。”
“这么快,正确率能有保障吗?”
“拭目以待吧。”
台下的李颜自然看不见这些,他心里只有一个念头:
哇……早说还有这玩意儿啊,李某人能给你干进25分钟!
他的动力又暴涨了,一方面若是第二阶段乃至第三阶段都能把他的名字挂上去,最后再取得一个好成绩,想想都很爽快;另一方面……
老子还真是最快的?
他是有信心答出来的题目准确率达到99%的不说是百分百单纯只是为了攒人品,应该说就这张卷子的难度,在场应该有一半人可以拿满分。
而这些人里,他最快。
也就是说……
在座的各位也没有特别牛逼嘛。
第230章 山外有山
个人解答的第一道程序实操题难度一般,属于刚看完就有思路并且没有太多卡壳点的基础题。
考验基本功与熟练度。
李颜刚看完题目准备上手,余光扫到大屏幕出现了另一条提示:
“第一阶段题目第二位完成: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之间的素数,上一题省了好多功夫。”
您?
吐槽的话就先免了,还是看看题吧。
“出名要趁早啊,陈凡。”
第231章 人外有我
陈凡才刚刚扫了一眼题目,李颜的耳机就传来了一句“嗯?”
“不好搞吧,不急,捋清楚题目要求先。”
“你有思路吗?”
“贪心?”
“嗯……先把所有线段按左端点为第一关键字,右端点为第二关键字递增排序……”
“选取覆盖线段,在所有左端点被覆盖线段中找右端点最远的线段。”
“噢……你搞好了是吧?”
陈凡看到了李颜提交的工程文件,点了点头。
“关键是下一步的思路……”
“贪心要怎么实现。”
耳机的隔音效果相当出众,加上李颜全神贯注与陈凡沟通,没有精力捕捉一些额外的声音,所以等他注意到周围似乎喧闹起来的时候,大部分人都开始了合作解题的第三阶段。
这让他有些紧迫,第三阶段的题目已经推进了十五分钟。
一度让他想先找一个繁琐的解法保个底先,但很明显,这是着急了。
李颜闭眼调整了几秒钟,强大的心智就把他稳了回来。
时间还长,一个足够精确完善高效的解答才是他们需要的东西。
两人琢磨了会儿,你来我往讨论了几句思路。
“设当前线段覆盖到的位置为now;所有左端点被覆盖的线段中,可以覆盖最远的位置为l,这条线段为k……”
陈凡说一半,李颜心领神会,“然后依次分析序列中的每条线段。”
“是这个意思,分析线段过程中只要满足now大于等于m,就可以输出覆盖线段并退出程序,”陈凡说着,快速在文档里记录着什么,“有些细节现在不好对,可能我们要抓紧先编出来,再看看什么地方可以优化。”