`
oraclestudy
  • 浏览: 477138 次
文章分类
社区版块
存档分类

ACM常见问题解答

 
阅读更多

比赛组织
Q(Question):我能否携带字典、书籍和程序清单?

A(Answer):可以,建议至少携带一本英文字典。

Q:我能否携带光盘、软盘等存储介质?

A:不能。

Q:我能否携带计算器?

A:不能。

Q:是否提供模拟题?

A:本次比赛不直接提供模拟题,选手可以直接到吉林大学ACM站点的在线测试(JOJ)中作题(http://acm.jlu.edu.cn)。站点上的题目与本次比赛在风格、判决方式等方面基本类似,但难度上更高一些。

Q:如果我在比赛过程中对试题有疑问怎么办?

A:可以通过在线的对话系统询问裁判。但请使用英语。

Q:我问裁判的问题,别人能够看到么?

A:一般看不到,当裁判认为这个问题有共性时,可以发布给大家。

Q:在比赛过程中,我能否看到自己的成绩?

A:可以看到自己以前的所有提交过程,包括每次提交的结论和提交时间。但不能看到自己在整个赛场的排名。

Q:在比赛过程中,我能否看到别人的成绩?

A:除了根据气球判断别人解答出的问题外,不能直接看到排名表和别人成绩。

Q:我提交一个解答后,多长时间能够反馈回判决?

A:一般可以马上得出结果。如果超过5分钟仍未有结论,请速与工作人员联系。

Q:如果我的机器出问题怎么办?

A:请速与工作人员联系。请尽量在测试环境阶段发现问题。在正式比赛期间由于机器问题造成的比赛时间延误,一般不追加时间。

Q:在测试环境过程中,我应该干什么?

A:在此阶段,将出一道简单的热身题目,题目的解答与否与比赛成绩没有任何关系。选手应该在此期间熟悉所用机器的环境,检查软硬件是否有问题,并编制程序进行提交,熟悉提交系统的使用方法。可以故意编制一些含有错误的程序,熟悉系统对于错误提交的反馈结果。

Q:提交的解答由谁来判决?

A:本次比赛的提交程序由程序自动判决。在特殊情况下,由裁判判决。

Q:提交的是程序本身还是可执行文件?

A:程序。

Q:我是否可以将程序放到多个文件中?

A:不可以。

Q:是否会因为我的程序书写规范而获得奖励,或者因为程序不易读而遭到惩罚?

A:不会。一切以程序的执行结果为标准,除非特殊情况,否则裁判不会留意你的程序的。

Q:试题对算法有要求么?

A:没有,只要在限制时间内能够正确解答出来就可以。

Q:我的程序的运行时间远远低于要求,这是否作为一个衡量标准?

A:不会。只要在规定的时间内运行正确,都将同样对待。

Q:我已经在纸面上写出了某道题的答案,但由于时间原因没有在计算机上运行,能否给一定的分数?

A:不能。本比赛完全按照在计算机上的程序与运行决定成绩。

关于试题
Q:这个竞赛都考什么样的试题?

A:本竞赛是关于程序设计方面的竞赛,因此试题类型都是编制程序,解决一个问题。具体样例可以参见http://acm.jlu.edu.cn

Q:题目的难度如何?

A:一般来说,如果在JOJ上能够作出50道左右的题目,那么在本次比赛中应该至少作出两道题。

Q:我一定要按照题目的次序作题么?

A:不。选手可以自由决定作题的次序。试卷中的题目次序与试题难度无关。

Q:我是否要解决所有问题?

A:不必。如果你能解决所有问题,那么可以保证获得金奖了。

Q:要想获得一等奖,需要解决多少道题目?

A:按照我们的估计,大概需要解决三分之二以上的题目。

Q:我只会用PASCAL语言,是否可以参赛?

A:可以,本次竞赛允许使用PASCAL语言。但国际上的ACM竞赛只允许使用C/C++和Java语言,因此如果你想参加吉林大学ACM代表队,还要学习和使用这两种语言,尤其是C++。

Q:在判决时使用的数据是否和试题中的一样?

A:不一样。判决时使用的数据可以是符合题目要求的各种数据。数据量也可能很大。

Q:我需要测试输入数据是否满足输入条件么?

A:不需要。可以保证输入数据都是符合题目中的要求的。

Q:数据从那里输入?输出到哪里?

A:本次比赛的输入输出都是标准输入和标准输出。例如在C/C++中可以直接使用cin, cout。

Q:我在本地如何进行测试?

A:将你的程序编译成可执行文件后(假设为prog.exe),将输入数据写在一个文件中(假设为in.txt)。在命令行模式下,使用文件重定向来测试。例如:

Prog < in.txt。也可以将结果写到另一个文件中,如prog < in.txt > out.txt。这种方式可以读取到文件结束符。

Q:输入输出是否有一定要求?

A:是的。试题中对于输入输出都有严格说明,必须按照这个标准进行。否则程序将不能得到正确结果。

Q:Compiler Error(编译错)是什么含义?

A:这说明你的程序在服务器上出现编译错误,请查看详细信息确定错误的具体内容。并请检查提交时是否选择了正确的语言。

Q:Runtime Error(运行错)是什么含义?

A:这说明你的程序在运行期间出现了某些错误。常见的错误包括:除零错误,数组越界,指针指向的单元不存在等。还有一种可能就是在C/C++中,main函数的返回值不是0。

Q:Time Over(超时)是什么含义?

A:每一个题目都有一个最大运行时间的要求(在试题中明确标出),如果你的程序的运行时间超过这个要求,将被强制停止,并返回这个错误。这种情况可能是由于程序中错误地出现了死循环,也可能是因为你的算法不够优化,这就需要重新设计算法和数据结构。

Q:Output Too Much(输出过多)是什么含义?

A:在系统中,为管理资源,对每个程序的输出数量是有限制的。出现这种情况,一般都是因为程序中错误地出现了死循环,不断输出一些错误结果。

Q:Wrong Answer(结果错)是什么含义?

A:这是一种最常见的错误,也就是说明你的程序的计算出的结果不对。如果你在本地测试正确,则要注意到判决时所使用的可能是各种符合要求的数据,需要考虑你的算法是否考虑到了所有情况。

Q:Presentation Error(格式错)是什么含义?

A:如果输出中只有空格和回车与答案不一样,则返回这个错误。在试题中均有严格说明,请仔细察看题目,尤其是空行。这个错误一般标志算法的基本方案已经正确了,离正确解答只有一步之遥。

语言细节
Q:比赛中所使用的编译器是什么?

A:在服务器上使用g++、fpc。在本地,由于条件限制,使用vc等。

Q:在C/C++中,main函数应该如何写?

A:应该写成: int main(){… return 0;}。请特别注意main函数的类型是整型,并且返回值为0。否则会导致Runtime Error。

Q:我的程序在VC中编译正确,提交后出现Compiler Error,具体信息是:

name lookup of `j' changed for new ISO `for' scoping

这是什么原因?

A:这是由于VC中存在与C++标准不兼容的部分,一般是如下类型的程序段引起的:for (int j=0; j<10; j++){…} j=10;

也就是说,在C++标准里,这种方式定义的变量j的作用域限制在for循环内部。如果要在for循环外继续使用这个变量,请将其定义提前到循环前。即如下例:

int j;

for (j=0; j<10; j++){…}

j=10;

Q:C/C++中,如下的错误信息是什么含义?

the `gets' function is dangerous and should not be used

A:gets函数作为一个危险的函数,可以造成系统的漏洞,因此不建议使用。如果要读取一行字符,可以使用cin.getline();

Q:我是否可以使用VC中的MFC类库?

A:不可以。作为替代方案,可以使用STL中的容器等工具。

Q:我是否可以使用C++中的STL?

A:可以。但是要注意VC中的STL存在一些与GNU编译器不一致的部分。最好使用那些已经被证明正确的部分。

Q:我是否可以使用动态内存?

A:可以。但是这样的程序不好调试,因此除非必要,建议避免使用。一般情况下可以直接申请一个足够大的数组等。

Q:我使用PASCAL语言,在读数据时经常出现错误,为什么?

A:由于PASCAL中的read, readln语句不能自动处理空白符,因此在输入时需要手工处理。另外在一次读入多个变量,而这时已经遇到文件结束时,将发生Runtime Error,请特别留意。

比赛经验
Q:我是否应该先全面阅读题目?

A:是的。应该在全面阅读的基础上找出最简单的题目,从简到难开始做题。

Q:我应该先做哪道题?

A:先做最简单的,见上。

Q:我如何知道那道题最简单?

A:靠自己的理解能力和经验。在比赛开始一段时间后,可以根据多数人升起的气球颜色来参照。如果你认为某道题很简单,但是相应颜色的气球升起的很少,则这道题目可能有一些情况你和大家都没有考虑清楚。

Q:如果一道题目,我反复提交都不对该怎么办?

A:有的时候,换一道题,换个思路也许会更好。

Q:我什么时候提交一道题目?

A:要记住,正确的题目数量比用时更重要。因此在觉得自己的程序正确,本地测试通过后,就要及时提交。

Q:题目中的测试数据测试通过,是否就表示程序正确?

A:不一定。有些题目的测试数据没有覆盖所有可能情况。需要自己另行编制测试数据。

Q:自己进行测试时应注意什么?

A:应注意测试数据的代表性,尤其是边界条件的情况。

Q:比赛要结束前,我应该做哪道题?

A:一般来说,在比赛结束前一个小时内,应该集中力量做一道题。

Q:我的解答怎么会超时呢?

A:有可能测试数据中数据的规模很大,在本地要对这种数据进行测试。也可能对于输入数据的某些情况,存在一些快捷的判断方式。

分享到:
评论

相关推荐

    ACM常见单词.pdf

    众所周知,ICPC赛事是纯英文题干的,有些计算机属于字典里查不到,答主将其整理发布免费共享给大家

    ACM中常见错误对应表.doc

    ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见错误对应表; ACM中常见...

    acm 常见算法 ppt

    acm 常见算法 pptacm 常见算法 pptacm 常见算法 pptacm 常见算法 ppt

    ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛

    ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛ACM大赛

    ACM常见单词

    acm常见的单词,帮助我们迅速理解acm的题意。当然了,这些东西对大神来说是菜菜。。但是我觉得对一个新手来说还是蛮重要的,能够节省很多查单词的时间。嘻嘻

    ACM/ICPC 代码库

    本代码包括了常见的ACM算法,并给出了详细地实现过程,并附上了ACM/ICPC 竞赛之STL。

    ACM ACM ACM讲义.ppt

    ACM ACM ACM ACM ACM讲义.ppt

    2016年ACM常用算法总结

    2016年新总结的ACM常用算法总结,搜集整理自网络.pdf

    ACM大数常见处理模板

    帮助初学者处理acm中的常见大数问题! 其中一些模板值得参考!!!

    ACM模板ACM 模板

    ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板AACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM 模板ACM ...

    ACM 常见题目详解

    Computational Geometry(计算几何) Network Flow(网络流) Eulerian Path (欧拉回路) Two-Dimensional Convex Hull (二维凸包) BigNums (大数) Heuristic Search(启发式搜索) Approximate Search (近似搜索) ...

    ACM PRO ACM PRO ACM PRO

    ACM PRO ACM PROACM PRO ACM PROACM PRO ACM PRO

    acm模板_acm模板

    acm模板acm模板acm模板acm模板acm模板acm模板acm模板acm模板

    ACM面试题 ACM ACM ACM

    包含近几年多道ACM面试题目,希望有所帮助

    acmacm经典题库

    acm经典题库acm经典题库acm经典题库

    ACM比赛常见算法之BFS算法+back回文字符串

    ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文字符串 ACM比赛常见算法之BFS算法+back回文...

    ACM地址ACM地址

    ACM地址 ACM地址 ACM地址 ACM地址 ACM地址

    ACM常用代码ACM常用代码ACM常用代码

    ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码ACM常用代码

    ACM练习建议 ACM练习建议

    ACM练习建议 ACM练习建议 ACM练习建议

Global site tag (gtag.js) - Google Analytics