[contestms] Re: CMS for 2-day contest?

  • From: Stefano Maggiolo <s.maggiolo@xxxxxxxxx>
  • To: contestms@xxxxxxxxxxxxx
  • Date: Tue, 15 Apr 2014 07:14:14 +0000

On Tue Apr 15 2014 at 7:46:39 AM, 李翼 <yilee3490@xxxxxxxxx> wrote:

> Do you think there will be any issue with sharing credential within a team?
>

No, it should be fine. There are no limitations to the number/location of
browsers a user can use to access the contest, unless you set a specific IP
for a user, of course.

Please note that we enforce limitations on the number of submissions for
each user, and for the minimum time between two submissions (in the contest
configuration); for contests with teams, you may need to allow more
submissions and more frequent than the usual. Please revise them to avoid
surprises.

One more question here about sandbox and importer.
>
> We are going to provide program skeleton to participants in certain tasks,
> i.e. this program skeleton will call participant's code so that the
> participants only need to submit function code to resolve the problem. To
> me it seems best described as grader in the task type document.
>

More precisely, a Batch task type using a grader.

My question is:
> 1. The document says I should provide three managers called grader.c,
> grader.cpp and grader.pas. I assume this is the program skeleton I describe
> above?
>

Yes, usually this grader is just a main function that reads the input,
calls the function provided by the contestants, and writes the output. In
particular, is compiled together with the contestants' solutions.


> Is grader.c/grader.cpp hardcoded in CMS, meaning that I have name my
> program skeleton in grade.c/grader.cpp/grader.pas?
>

Do you mean if the name "grader" is hardcoded? Yes. For each task you can
specify a number of "managers", that is, additional files that are used in
the compilation/evaluation. In the case of a batch task with grader, the
contestant's submission will be compiled with a command line like "gcc -o
<> task.c grader.c" (where task.c is the submission) in a directory that
contains the submission, the manager called grader.c, and also all managers
with extension ".h".


> I assume there will be grader.java if JAVA is allowed in contest?
>

Yes. The only difference is that we have no equivalent for the .h files, of
course.


> I guess I can skip grader.pas because we don't allow PASCAL in contest?
>

Yes.


> 2. In my test, my sandbox can not access the skeleton program to compile
> smoothly because of chroot. I believe this must be because of my
> mis-configuration. How should I correct this?
>

I'm not sure what your problem is. Shooting in the dark: if you uploaded
the skeleton file with a different name, you will get an error in the logs
like "Worker failed... KeyError ['grader.c']", because the worker cannot
find the file. If it is a different issue, please give me some more details.

3. Which keyword in YAML file should I use for grader if I'm going to
> "import" the contest?
>

With the Italian format, there is no YAML keyword, you just need to place
the skeleton in the sol/ directory with the usual names (grader.*). You can
find an example at
https://github.com/cms-dev/con_test/tree/master/batchgrader

-- Ste

Other related posts: