×

计蒜客

题库测评常见问题


一、通用问题

问 什么是题库?

答 题库是计蒜客平台下的在线题库和评测系统。

 

问 我可以使用什么语言完成题库里的题目?

答 现在可以使用 C、C++、Java、Python、Ruby、Octave、Pascal 或积木式编程语言 Blockly 进行解题。

 

问 代码长度限制是多少?

答 单一文件提交的代码最大长度为 98304,即 96 KB。

 

问 我应该使用那种输入输出方法?

答 题库里的所有题目都要使用标准输入(stdin)和标准输出(stdout)而非文件输入输出。

 

二、Java 支持

问 如何使用 Java 解题?

答 平台使用的 JDK 版本为 1.8.0_112。你需要首先定义一个 public 的类 Main,并且要注意大小写。这个类必须包含一个方法 public static void main(String[] args)

 

问 Java 的内存限制和时间限制有无区别?

答 Java 由于语言的影响,通常运行相同逻辑的代码需要更多的时间和空间。因此对于 Java 的时间和空间限制均为页面显示的 2 倍。

 

问 Java 的堆栈大小支持多少?

答 Java 堆栈配置:java -Xss64m,即堆栈大小为 64 MB。

 

三、C/C++ 支持

问 C/C++ 编译器版本?

答 C/C++ 不同的语言版本有以下区别:

  • C 语言:gcc 5.3.0,开启 O2 优化,支持 c99 特性;
  • C 语言(NOI):gcc 4.8.4,无编译优化;
  • C++ 语言(C++11):g++ 5.3.0,开启 O2 优化,支持 c++11 特性;
  • C++ 语言(C++14):g++ 5.3.0,开启 O2 优化,支持 c++14 特性;
  • C++ 语言(NOI):g++ 4.8.4,无编译优化。

 

问 64 位整数类型如何定义和使用?

答 64 位整数类型的定义如下:

long long a;
unsigned long long b;

64 位整数类型的读入方法:

#include <stdio.h>
…
scanf("%lld", &a);
scanf("%llu", &b);
printf("%lld", a);
printf("%llu", b);
            
#include <iostream>
using namespace std;
 …
cin >> a;
cin >> b;
cout << a;
cout << b;

推荐在 C++ 中使用 scanf/printf 而非 cin/cout 进行输入输出。 cin/cout 通常要比 scanf/printf 的效率低很多。

 

问 能否使用 bits/stdc++.h 头文件?

答 可以,在代码中输入 #include <bits/stdc++.h> 会将所有标准库和 STL 库的头文件引入。但是我们仍建议你对每个头文件单独引用,这样可以缩短编译时间。

 

问 能否判断我的程序是否运行在评测系统上?

答 可以,在 C/C++ 的判断方法如下:

#ifdef ONLINE_JUDGE
    running on online judge
#endif

 

问 C/C++ 的堆栈容量是多少?

答 C/C++ 的堆栈容量是 64 MB。

 

四、Python 支持

问 Python 版本是什么?

答 Python2 的版本为 Python 2.7.12,Python3 的版本为 3.5.2。

 

问 Python 的时间限制有无区别?

答 Python 由于是解释性语言,通常运行相同逻辑的代码需要更多的时间。因此对于 Python 的时间限制是页面显示的 2 倍。

 

五、Ruby 支持

问 Ruby 版本是什么?

答 Ruby 的版本为 ruby 2.3.1p112。

 

问 Ruby 的时间限制有无区别?

答 Ruby 由于是解释性语言,通常运行相同逻辑的代码需要更多的时间。因此对于 Ruby 的时间限制是页面显示的 2 倍。

 

六、Pascal 支持

问 Pascal 版本是什么?

答 Pascal 的版本为 Free Pascal 3.0.4。

 

七、Octave 支持

问 Octave 版本是什么?

答 Octave 的版本为 GNU Octave 4.2.0。

 

八、站内比赛

问 比赛是否需要赛前报名?

答 对于开放式比赛,直接进入即算报名成功,无需赛前报名;对于正式比赛,需要在比赛前点击比赛进入后点击注册方能在比赛时进入比赛答题。

 

问 比赛在什么地点进行?

答 比赛无需在特定的地点进行,你可以选择在机房、宿舍、咖啡厅甚至网吧参加比赛,只要有稳定的网络即可。

 

问 比赛在什么时间进行?

答 每场比赛会在比赛列表和比赛页显示比赛的开始和结束时间,只能在指定的时间范围内进行比赛。

 

问 ACM 类比赛中分数如何计算?

答 每道题目会标明对应的分数,当正确通过该题之后,该题的得分为题目标明的分数,否则该题得分为 0。选手的分数为所有题目的分数总和。部分比赛的题目没有分数,而是以题数代替分数。

 

问 ACM 类比赛中用时如何计算?

答 每道题目的用时的单位为分钟,由该题从比赛开始至第一次正确提交时的分钟数和该题的错误罚时相加得到。该题错误罚时为第一次正确提交之前的提交次数乘以 20 分钟。若题目尚未通过则该题的用时记为零。总用时为每道题的用时相加得出。

 

问 比赛中排名如何计算?

答 按照每个选手的分数从高到低排序。对于 ACM 赛制,当两名选手的得分总和相同时,按照用时从低到高排序,分数和用时均相同时,最后一次导致分数增加的正确提交越早者排名越靠前。对于 OI 赛制、IOI 赛制,只考虑选手的总分数,分数相同时最后一次导致分数增加的提交越早者排名越靠前。仅当选手在该场比赛中有提交记录时才会显示在比赛排名中。

 

问 ACM 赛制中编译错误的提交是否计入总用时?

答 编译错误、编译超时、判题错误均不计入总用时。

 

问 ACM 赛制中题目的「正确提交/总提交」是如何计算的?

答 「正确提交」等同于「通过人数」,过题后的提交不计在内;「总提交」不计入过题后的提交和正在判题过程中的提交,保证该数据的可参考性。

 

问 OI 赛制中如果同一题有多次提交,以哪次为准?

答 以最后一次提交为准。

 

问 IOI 赛制中如果同一题有多次提交,分数以哪次为准?

答 以得分最高的一次提交为准。

 

问 IOI 赛制中每道题目最多可以提交多少次?

答 每道题最多可提交 50 次。

 

九、复现赛

问 什么是复现赛?

答 复现赛是对一场已经结束的比赛的场景复现,包含对题目通过率和排行榜数据的复现。复现赛能够重现比赛时的场景,并让你亲身参与其中,体验与各位选手同台竞技的感觉。复现赛支持计蒜客已有的全部赛制。

 

问 如何创建一场复现赛?

答 你可以以任意一场公开报名的比赛为基础创建复现赛,非公开报名的比赛需要你拥有该场比赛的权限才能创建复现赛(若你付费参加了一场收费比赛,那么你可以不限次地复现这场比赛;若你没有参加这场收费比赛,则在创建复现赛时,需要先付费,付费后即可不限次地复现该场比赛)。创建复现赛时,你只能设定复现赛的开始时间,比赛时长取决于被复现的比赛的时长。需要注意的是,创建复现赛时,新的复现赛比赛时间不能与你之前创建过的复现赛重叠,否则无法创建,一定要规划好自己的时间哦~

 

问 我是否可以和朋友参加同一场复现赛?

答 你可以与朋友约定好要复现的比赛和复现赛的开始时间,分别复现这场比赛。当你们复现了同一场比赛,且比赛开始时间相同时,即为参加了同一场复现赛,互相之间能够看到对方在排行榜中的记录。

 

如果有更多问题请与 pt@jisuanke.com 联系。