자주 묻는 질문

체크 버전


C++ g++ 9.4.0  g++ -fno-asm -Wall -lm --static -O2 -std=c++14 -DONLINE_JUDGE -o Main Main.cc
C gcc 9.4.0  gcc Main.c -o Main -fno-asm -Wall -lm --static -O2 -std=c99 -DONLINE_JUDGE

Java OpenJDK 17.0.4 javac -J-Xms32m -J-Xmx256m Main.java public class 코드의 클래스 지정시 Main 사용하여야 합니다.
자바의 경우 2초, 최대 512MB의 램으로 제한됩니다.
여기에 제공된 컴파일러 버전은 참조용일 뿐입니다.
실제 컴파일러 버전을 참조하세요.

표준 입출력사용 권고드립니다.

Q: cin/cout(TLE, Timout) 가 발생하는 이유?

A: cin/cout은 기본적으로 stdin/stdout을 동기화하기 때문에 속도가 느려지고 성능에 영향을 미치는 더 많은 시스템 호출을 생성합니다. 속도를 높이려면 main 함수 시작 부분에 다음 코드를 추가할 수 있습니다.:

ios::sync_with_stdio(false); cin.tie(0);
* 또한, endl 대신 '\n'을 사용하십시오. endl은 기본적으로 새로 고침 작업을 증가시켜 출력 버퍼 실패를 유발하고 효율성을 저하시키기 때문입니다.

Q: gets 사용 가능한가요?

A: gets 함수는 입력 길이를 제한할 수 없기 때문에 역사상 다수의 버퍼 오버플로 취약점이 발생하여 최신 버전에서는 완전히 삭제되었으니 대신 fgets 함수를 사용해 주시기 바랍니다. 또는 대신 다음 매크로 정의를 사용하십시오.:

#define gets(S) fgets(S,sizeof(S),stdin)

반환 결과 설명

시험 문제에 대한 답변이 제출되면 채점 시스템에서 즉시 점수를 평가합니다. 각 제출 결과는 적시에 통보됩니다. 시스템에서 가능한 피드백 정보는 다음과 같습니다.

  • 평가 대기 중: 평가 시스템에서 아직 이 제출물을 평가하지 않았습니다. 잠시 기다려 주십시오.
  • 평가 중: 평가 시스템이 평가 중이며 결과는 나중에 확인할 수 있습니다.
  • 컴파일 오류: 제출한 코드를 컴파일할 수 없습니다. 컴파일러가 출력한 오류 메시지를 보려면 "컴파일 오류"를 클릭하세요.
  • 정답: 축하합니다! 이 질문을 통과하셨습니다
  • 형식 오류: 프로그램에서 출력하는 형식이 요구 사항을 충족하지 않습니다(예: 공백 및 줄 바꿈이 요구 사항과 일치하지 않음)
  • 오답: 프로그램이 평가 시스템 데이터에 대한 올바른 결과를 반환하지 못했습니다.
  • 실행 시간 초과: 프로그램이 지정된 시간 내에 실행되지 못했습니다.
  • 메모리 초과: 프로그램이 한도보다 더 많은 메모리를 사용합니다.
  • 런타임 오류: segfault, 부동 소수점 오류 등 작업 중에 프로그램이 충돌했습니다.
  • 출력이 한도를 초과함: 프로그램이 너무 많은 콘텐츠를 출력하며 이는 일반적으로 무한 루프 출력의 결과일 수 있습니다.
  • 코드 샘플

    다음 샘플 코드를 사용하여 이 간단한 문제를 해결할 수 있습니다.두 개의 정수 A와 B를 읽고 그 합을 출력합니다.

    gcc (.c)

                #include <stdio.h>
                int main(){
                    int a, b;
                    while(scanf("%d %d",&a, &b) != EOF){
                        printf("%d\n", a + b);
                    }
                    return 0;
                }

    g++ (.cpp)

                    #include <iostream>
                    using namespace std;
                    int main(){
                        // io speed up
                        const char endl = '\n';
                        std::ios::sync_with_stdio(false);
                        cin.tie(nullptr);
    
                        int a, b;
                        while (cin >> a >> b){
                            cout << a+b << endl;
                        }
                        return 0;
                    }

    fpc (.pas)

                    var
                    a, b: integer;
                    begin
                        while not eof(input) do begin
                            readln(a, b);
                            writeln(a + b);
                        end;
                    end.

    javac (.java)

                    import java.util.Scanner;	
                    public class Main {
                        public static void main(String[] args) {
                            Scanner in = new Scanner(System.in);
                            while (in.hasNextInt()) {
                                int a = in.nextInt();
                                int b = in.nextInt();
                                System.out.println(a + b);
                            }
                        }
                    }

    python3 (.py)

                    import io
                    import sys
                    sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
                    for line in sys.stdin:
                        a = line.split()
                        print(int(a[0]) + int(a[1]))