ENG
首页 >  院系动态

我校ACM-ICPC集训队在国际大学生程序设计竞赛ACM-ICPC(西安)喜获佳绩

2019-06-18

ACM国际大学生程序设计竞赛(英文全称:ACM International Collegiate Programming Contest(简称ACM-ICPC或ICPC))是由国际计算机协会(ACM)主办的,一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近40年的发展,ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛。

2019年5月18日至5月19日,ACM-ICPC国际大学生程序设计竞赛全国邀请赛(西安)在西北工业大学如期举行。本次比赛共有150个高校派出362支队伍参加。我校派出“涅槃队”(计算机学院17级吴礼尉、司马晨、计算机学院16级潘博雅)和“信息科大二队”(计算机学院18级刘科宏、宋开元、通信学院18级张玉)两支队伍参赛。

图 1从左到右:宋开元、刘科宏、张玉、司马晨、潘博雅、吴礼尉

经过5个小时的激烈角逐,“涅槃队”解出4道题目,比赛排名169名,获得铜奖。“信息科大二队”解出2道题目,比赛排名345名,获得优秀奖。

图 2从左到右:潘博雅、司马晨、吴礼尉

1.热身赛:手感不错

比赛分为两天,5月18日举行热身赛,5月19日举行正赛。热身赛的目的是让选手熟悉比赛环境,适应比赛氛围。“涅槃队”在热身赛中发挥神勇,解出全部3道题目。这让他们对第二天的正赛充满了信心。

图 3热身赛

2. 正赛:开局不利,最后阶段不放弃,奠定胜局。

正赛开赛2分钟,司马晨同学以很快的速度找到了最简单的A题,在稍加思考之后就开始代码实现。与此同时吴礼尉同学在看C题,潘博雅同学在看D题。

司马晨同学的A题顺利通过之后,吴礼尉和司马晨一起讨论C题,潘博雅继续研究D题。C题是一道计算几何题,吴礼尉和司马晨在草稿纸上画了又画。在讨论之中逐渐地思路清晰,最终确定了公式。算法由司马晨同学代码实现,第一次提交的返回结果却是“Wrong Answer”,也就是没通过的意思。这时队员们正在想到底错在哪了,又修改了两次代码提交,还是“Wrong Answer”。这时吴礼尉同学提出了一个样例,在本地测试,果然出现了问题,于是司马晨同学把代码再改了改,提交。这一次的提交没有让队员们失望,比赛开始88分钟,“涅槃队”的第二题正确通过了!

“涅槃队”开始像第三题进发,但是题目的难度是递增的,第三题并不是那么好做。擅长数论的司马晨同学正在推公式,然后跟吴礼尉讲解证明他的推论。代码实现之后交了一发,没有通过。司马晨同学觉得可能是考虑得还不够周全,于是就继续完善了一下推论,再交,还是没通过。这时吴礼尉同学提议在本地写一个绝对正确的暴力算法跑出部分数据,再通过观察这些数据看看能不能找出规律,两位队友表示赞同。于是吴礼尉和司马晨一起写了一个暴力算法程序,潘博雅同学记录跑出来的数据,而后司马晨和潘博雅同学看着这30多组样例,慢慢地就发现了规律,还是由司马晨同学代码实现刚刚发现的规律,提交。比赛开始120分钟,“涅槃队”通过第三题!

在进攻前三题的过程中,潘博雅同学一直在思考和代码实现D题,但交了2次之后尚未通过。但是队员们的心态依然非常沉稳,相互鼓励着,依然没有放弃。因为目前队伍排名虽然说已经在铜牌区,但并不能排除其他对手会有超过的可能,所以只有继续进攻下一题,才能奠定胜局。

通过了第三题之后,“涅槃队”决定接下来主攻D题,潘博雅同学和其他两位队员说了一下他之前推到出的思路,其他两位同学并没有发现什么问题,开始陷入沉思。最终司马晨同学决定推倒重来,写一个新的算法,经过一段时间的编写和调试,D题的代码已经基本成形,在其他两位队员觉得无误的情况下提交了,在等待判题的那几秒钟,三位队员屏住呼吸,盯着屏幕,过了十几秒钟,一个绿色的“correct”出现在眼前!队员们用力地击掌,四题!铜牌稳了!

距离比赛结束还有1个小时,虽然说铜牌已经稳了,但队员们并没有停下脚步,队员们开始攻击第五题,M题。吴礼尉同学猜测这个应该用一种Dijkstra算法,但是翻了带的资料之后并没有什么头绪。司马晨同学尝试了DFS,潘博雅同学在往BFS的方向思考。最后出来的代码能够过题目给的样例,但是队员们出的一些反例就测出问题了。在比赛的最后几分钟,吴礼尉同学提议把这份代码交一下,碰碰运气。果然,在本地都没有跑对的程序,在评测机上大概率也不会正确的。

比赛结束的信号响起,“涅槃队”最终解出4道题。虽然说最后关头的第5题没有解出来稍有遗憾,但是队员们还是要平复一下心情,前往闭幕式。

图 4左九为“涅槃队”队长吴礼尉同学

3. 再接再厉,扬帆起航

本次拿铜奖的“涅槃队”由16级的潘博雅同学和17级的司马晨和吴礼尉同学组成,他们均表示会继续训练,持之以恒,提升自己的竞赛水平。下半年会继续代表学校参加ACM-ICPC亚洲区域赛。

首次出战国内赛场的“信息科大二队”三名队员均由18级的同学组成,他们虽然没有拿奖牌,但是他们的表现比去年这个时候的“涅槃队”表现要强得多,相信他们经过一年的努力,也可以达到甚至超过“涅槃队”的水平。

ACM-ICPC集训队常年招新:你也可以代表学校出征!

ACM-ICPC集训队于2010年成立,由计算机学院牟永敏教授担任教练,致力于培养竞赛选手,参加ACM-ICPC国际大学生程序设计竞赛、CCPC中国大学生程序设计竞赛以及蓝桥杯。

如果你对自己的代码和算法能力足够自信,或者你已经有了一定的竞赛基础,ACM-ICPC集训队期待你的加入。

欢迎进入交流群了解信息,信息科大ACM/ICPC交流群群号:119751760。

(计算机学院供稿)
COPYRIGHT @ 北京信息科技大学 京公网安备110402430033号 京ICP备17006670号-1
关注官方微信
关注官方微信
Copyright © 2012 北京信息科技大学 | 京公网安备:110402430033
关注官方微信
关注官方微信

Copyright © 北京信息科技大学

京公网安备:110402430033号

回顶部