Q:채점을 위해 사용되는 컴파일러와 각 컴파일러의 옵션은 어떤것입니까?
A:채점 시스템은 Ubuntu Linux에서 구동됩니다. 현재 C/C++ 코드 컴파일을 위해 GNU GCC/G++를 사용하고 있으며, Pascal 코드 컴파일을 위해 Free Pascal 을, 그리고 Java 코드 컴파일을 위해 sun-java-jdk1.6를 사용합니다. 컴파일을 위해서 다음과 같은 옵션을 사용합니다:
C: | gcc Main.c -o Main -ansi -fno-asm -O2 -Wall -lm --static |
C++: | g++ Main.c -o Main -ansi -fno-asm -O2 -Wall -lm --static |
Pascal: | fpc Main.pas -oMain -O1 -Co -Cr -Ct -Ci |
Java: | javac Main.java |
현재 사용되는 각 컴파일러의 버전:
gcc/g++ (Ubuntu 7.3.0-23ubuntu2~16.04.york0) 7.3.0
Free Pascal Compiler version 2.0.0 [2005/09/09] for i386
Java 1.8.0_292
#include <iostream> using namespace std; int main(){ int a,b; while(cin >> a >> b) cout << a+b << endl; return 0; }C를 이용하여 100번 문제를 짠 예시 코드입니다:
#include <stdio.h> int main(){ int a,b; while(scanf("%d %d",&a, &b) != EOF) printf("%d\n",a+b); return 0; }PASCAL은 다음과 같이 작성할 수 있습니다.:
program p1001(Input,Output); var a,b:Integer; begin while not eof(Input) do begin Readln(a,b); Writeln(a+b); end; end.마지막으로 Java를 이용한 코드입니다:
import java.util.*; public class Main{ public static void main(String args[]){ Scanner cin = new Scanner(System.in); int a, b; while (cin.hasNext()){ a = cin.nextInt(), b = cin.nextInt(); System.out.println(a + b); } } }
Pending : 채점이 밀려서 아직 채점이 완료 되지 않은 대기 상태. 일반적으로 1분 이내에 채점이 됩니다.
Pending Rejudge: 테스트 데이터를 새로이 고치거나 했을 경우, 해당 제출 코드를 다시 채점하게 되어 대기 상태로 들어가는 경우.
Compiling : 채점을 하기 위해 컴파일 하는 중에 나타납니다.
Running & Judging: 채점이 진행되고 있음을 의미합니다.
Accepted : 제출한 프로그램이 모든 테스트 데이터를 통과했음을 뜻합니다.
Presentation Error : 출력 결과가 테스트 데이터와 유사하나, 공백, 빈 줄과 같은 사소한 문제로 인해 출력 결과가 일치하지 않는 경우입니다.
Wrong Answer : 출력 결과가 테스트 데이터와 다른 경우 입니다.
Time Limit Exceeded : 제출한 프로그램이 제한된 시간이내에 끝나지 않은 경우를 뜻합니다.
Memory Limit Exceeded : 제출한 프로그램이 허용된 메모리보다 많은 메모리를 사용했을 경우를 뜻합니다.
Output Limit Exceeded: 예상하는 보다 많은 출력이 발생한 경우 입니다. 일반적으로 프로그램이 무한 루프에 빠졌을 경우에 일어납니다. 현재 채점 시스템에서 출력 제한은 1메가 바이트로 제한됩니다.
Runtime Error : 실행 도중에 'segmentation fault','floating point exception','used forbidden functions', 'tried to access forbidden memories' 등의 에러가 발생하여서 실행도중에 프로그램이 종료된 경우 입니다.
Compile Error : 컴파일러가 제출한 소스코드를 컴파일 하지 못한 경우입니다. 물론 경고 메시지(warning message)는 에러 메시지로 간주하지 않습니다. 채점 결과를 클릭하면 실제 에러 메시지를 볼 수 있습니다.
ascode.org V1.9.9.0 |