ACMORE Online Judge F.A.Q
Q:What is the compiler the judge is using and what are the compiler
options?
A:The online judge system is running on Ubuntu 18 LTS x86_64 Linux.
Compilation params are as follow:
C | cc Main.c -fmax-errors=10 -Wall -lm -std=c99 -DONLINE_JUDGE --static -o Main |
CPP | c++ Main.cpp -fno-asm -fmax-errors=10 -Wall -lm --static -std=c++11 -DONLINE_JUDGE -o Main |
JAVA | javac Main.java -J-Xms256M -J-Xmx1024M -encoding UTF-8 |
PASCAL | fpc Main.pas -Cs32000000 -Sh -Co -Ct -Ci |
RUBY | ruby -c Main.rb |
BASH | bash -n Main.sh |
PHP | php -l Main.php |
PERL | perl -c Main.pl |
CSHARP | mcs -warn:0 Main.cs |
OBJECTIVEC | gcc -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -pthread -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fgnu-runtime -fconstant-string-class=NSConstantString -I. -I/usr/local/include/GNUstep -I/usr/include/GNUstep -o Main Main.m -rdynamic -shared-libgcc -pthread -fexceptions -fgnu-runtime -L/usr/local/lib -L/usr/lib -lgnustep-base -lobjc -lm |
BASIC | fbc -lang qb Main.bas |
CLANG_C | clang Main.c -ferror-limit=10 -fno-asm -Wall -lm --static -std=c99 -DONLINE_JUDGE -o Main |
CLANG_CPP | clang++ Main.cpp -ferror-limit=10 -fno-asm -Wall -lm --static -std=c++0x -DONLINE_JUDGE -o Main |
LUA | luac -o Main Main.lua |
GO | go build -o Main Main.go |
FORTRAN | gfortran -ffree-form Main.f -static -o Main |
JAVASCRIPT | node -c Main.js |
PYTHON2 | python2.7 -m py_compile Main.py |
PYTHON3 | python3.10 -m py_compile Main.py |
*cc is hard link to gcc, and c++ is hard link to g++
*has been set up system environment GOCACHE=off for
GoLang compiler
Q:
Where is the input and the output?
A:
Your program shall read input from stdin('Standard Input') and write output to stdout('Standard Output').For example,you can use 'scanf' in C or 'cin' in C++ to read from stdin,and use 'printf' in C or 'cout' in C++ to write to stdout.
User programs are not allowed to open and read from/write to files, you will get a "Runtime Error" if you try to do so.
You can get sample program code in P1000.
Q:Why did I get a Compile Error? It's well done!
A:There are some differences between GNU and MS-VC++, such as:
- main must be declared as int, void main will end up with a Compile Error.
- i is out of definition after block "for(int i=0...){...}"
- itoa is not an ANSI function.
- __int64 of VC is not ANSI, but you can use long long
for 64-bit integer.
try use #define __int64 long long when submit codes from MSVC6.0
Q:What is the meaning of the judge's reply XXXXX?
A:Here is a list of the judge's replies and their meaning:
Waiting : The judge is so busy that it can't judge your submit at the moment, usually you just need to wait a minute and your submit will be judged.
Waiting Rejudge: The test datas has been updated, and the submit will be judged again and all of these submission was waiting for the Rejudge.
Compiling : The judge is compiling your source code.
Running: Your code is running and being judging by our Online Judge.
Accepted : OK! Your program is correct!.
Presentation Error : Your output format is not exactly the same as the
judge's output, although your answer to the problem is correct. Check your output for spaces, blank
lines,etc against the problem output specification.
Wrong Answer : Correct solution not reached for the inputs. The inputs and
outputs that we use to test the programs are not public (it is recomendable to get accustomed to a true
contest dynamic ;-).
Time Limit Exceeded : Your program tried to run during too much time.
Memory Limit Exceeded : Your program tried to use more memory than the judge
default settings.
Output Limit Exceeded: Your program tried to write too much information.
This usually occurs if it goes into a infinite loop. Currently the output limit is 1M bytes.
Runtime Error : All the other Error on the running phrase will get Runtime
Error, such as 'segmentation fault','floating point exception','used forbidden functions', 'tried to access
forbidden memories' and so on.
Compile Error : The compiler (gcc/g++/gpc) could not compile your ANSI
program. Of course, warning messages are not error messages. Click the link at the judge reply to see the
actual error message.
Q:How to attend Online Contests?
A:Can you submit programs for any practice problems on this Online Judge? If you can, then that is the account you use in an online contest. If you can't, then please register an id with password first.
致谢:
ACMORE 网站的建立离不开许多开源项目。
开始时ACMORE使用浙江传媒大学张浩斌老师的HUSTOJ开源项目 搭建,仅供SSPU社团活动使用。经过几番更迭,现ACMORE已不再兼容HUSTOJ,但依然感谢HUSTOJ为网站的开发提供了初始样板。
ACMORE 中主要使用的开源项目列表如下,感谢他们:
- Pygments 代码高亮工具
- Nginx 反向代理网站
- Django 作为Web后端开发框架
- Daphne 推送前端消息服务
- Celery 任务队列
- Channels 推送前端消息
- MariaDB 数据库存储数据
- Memcached 缓存热点数据和消息队列
- Redis 缓存热点数据
- jQuery 作为JS开发库
- 曾经使用VUE 作为JS开发框架
- ReactJs 作为JS开发框架
- Bootstrap v3 作为CSS开发框架
- ShortUUID生成UUID
- Qrcode 生成二维码
- Requests 作为Vjudge爬虫网络请求工具
- BeautifulSoup 作为Vjudge爬虫解析工具
- Spiped 加密数据传输
此外,还借鉴/引用了无数网络上的代码,尤其感谢Stackoverflow的各位,对我帮助甚多。
还要感谢上海第二工业大学老师同学朋友们的鼎力帮助和不计回报的付出,特别感谢SSPU ACM教练蒋文蓉老师的支持。