F.A.Qs


更新时间:2021-05-09 02:36:37     编辑:CSGrandeur    

Q:编译器版本及编译运行参数

A:系统 Ubuntu Server 24.04. 参数如下

C: gcc -std=c17 -O2 -Wall -Wextra -DONLINE_JUDGE -static -Wl,–no-relax -Wl,–no-pie -mcmodel=medium -o Main Main.c
C++: g++ -std=c++17 -O2 -Wall -Wextra -DONLINE_JUDGE -static -Wl,–no-relax -Wl,–no-pie -mcmodel=medium -o Main Main.cpp
Java: javac -J-Xms1024M -J-Xmx1024M -J-Xss64M -encoding UTF-8 Main.java
java -Dfile.encoding=UTF-8 -XX:+UseSerialGC -Xss64M -Xms1024M -Xmx<题目内存限制+512M> -cp . Main
Python: python3 -m py_compile Main.py
python3 Main.py

参数说明:

运行时限制:

编译器版本:

Q:输入输出的形式

A:输入为stdin(Standard Input),输出为stdout(Standard Output). 例如,你可以用C语言的scanfC++cinstdin中读取数据,并使用C语言的printfC++coutstdout输出.

评测机禁止程序进行读写文件等其它输入输出行为,此类行为都会得到“Runtime Error”的结果.

以“多组a b两个数求和直至文件末尾”为例:

C:

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

C++:

#include <iostream>
using namespace std;
int main(){
    int a,b;
    while(cin >> a >> b)
        cout << a+b << endl;
    return 0;
}

Python:

#!/usr/bin/python3
import sys
for line in sys.stdin:
    a, b = line.split()
    print(int(a) + int(b))

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);
        }
    }
}

Q:本地运行良好,为什么评测结果是Compile Error

A: GNUMS-VC++存在一些差异,例如:

Q:有哪些评测结果

A:全部评测结果: