F.A.Q / 常见问题解答
Q 我可以使用什么编程语言,并且每个编译器的参数是怎样的?
            A 本系统目前支持C、C++、Java三种语言,分别使用GCC、G++和JDK6进行评测,编译器的版本和参数分别为:
            
        - GCC (v4.7.2):gcc.exe src.c -o test.exe
 - G++ (v4.7.2):g++.exe src.c -o test.exe
 - JDK6 (Update 45):javac.exe -encoding utf-8 Main.java
 
Q 我如何在 Online Judge 上编写我的程序?
            A 评测系统中的输入都是通过标准输入给出的,您的输出也需要以标准输出的形式输出。
            
            
            
        对于 A + B 程序(Problem 1000),使用C语言来编写:
上述程序使用C++语言来编写:
上述程序使用Java语言来编写:
Q 评测机的回应代表什么?
            A 评测机的回应如下列表所示:
            
        - Pending / Rejudge Pending(等待 / 重测等待):表明您的程序正在排队等待评测,请稍等片刻。
 - Judging(评测中):表明您的程序正在评测中。
 - Compile Error(编译错误):表明您的程序无法在评测机上编译,您可以在“Online Status”页面查看详细信息。
 - Runtime Error(运行错误):表明您的程序在运行时出现错误,您可以在“Online Status”页面查看详细信息。
 - Time Limit Exceeded(时间过长):表明您的程序运行时间超出了规定最长的时间。
 - Memory Limit Exceeded(内存过量):表明您的程序使用的内存超出了规定最大的内存。
 - Output Limit Exceeded(输出过多):表明您程序输出了过多的内容,请确保您的程序没有出现死循环。
 - Wrong Answer(答案错误):表明您的程序输出了错误的答案,请注意,评测时使用的数据远远比样例数据复杂的多。
 - Presentation Error(格式错误):表明您程序输出内容的格式与标准输出不完全一致,请检查空格、回车等是否输出正确。
 - Accepted(通过):表明您的程序是正确的并且通过了评测机的测试。
 
Q 为什么我的C / C++程序评测机回应 Compile Error(编译错误)?
            A 评测机使用的编译器为GCC / G++,可能与您使用的VC++有所不同,例如:
            
        - main 函数必须定义为 int 类型,同时在 main 函数结束前请使用return 0,如果使用 void main() 将会产生 Compile Error。
 - 数值转字符串函数 itoa 不是 ANSI 标准函数,请使用其他替代方案。
 - 64位整型 __int64 不是ANSI编码规范中的,您可以使用 long long 来代替。由于我们使用的 Windows 操作系统,所以在使用 scanf 和 printf 的时候,请使用 "%I64d" 代替 "%lld"。
 
Q 我如何从头到尾读取评测数据?
            A 如果遇到题目中没有给出数据个数,您可以这样读取评测数据:
            
                
                    
                
                
                    
                        
                            
                        
                            
                        
                            
                    
                    
                        
                            
                        
                            
                        
                            
                    
                    
                        
                            
                        
                            
                        
                            
                    
                
            
        
        
                            读取数字
                        
                        
                                C
                            
                            int n;
while(scanf("%d", &n) != EOF)
{
  //Do Something
}
                        
                                C++
                            
                            int n;
while (cin >> n)
{
  //Do Something
}
                        
                                Java
                            
                            Scanner in = new Scanner(System.in);
while (in.hasNextInt()){
    int n = in.nextInt();
    //Do Something
}
                        
                            读取字符
                        
                        
                                C
                            
                            char w;
while ((w = getchar()) != EOF)
{
  //Do Something
}
                        
                                C++
                            
                            char w;
while (cin.get(w))
{
  //Do Something
}
                        
                                Java
                            
                            Scanner in = new Scanner(System.in);
while (in.hasNext()){
    string w = in.next();
    //Do Something
}
                        
                            读取行
                        
                        
                                C
                            
                            char l[1024];
while(gets(l))
{
  //Do Something
}
                        
                                C++
                            
                            string l;
while (getline(cin, l))
{
  //Do Something
}
                        
                                Java
                            
                            Scanner in = new Scanner(System.in);
while (in.hasNextLine()){
    string l = in.nextLine();
    //Do Something
}
                        Q 允许提交的最大代码长度是多少?
            A 本系统允许提交的最大代码长度为 32767 字节(32KB)。