常见问题及解答
English 
 
问:为什么系统提示我无法上传题目? 
答:只有超级管理员和高级用户(在本系统解答题目超过300题,且总难度值超过30万)才允许上传题目。  
问:提交完代码后系统返回了结果,那些结果表示什么意思呢? 
答:程序各种运行结果的含义如下: 
Waiting: 系统正在做评判的准备工作,这个过程不会太久,请您稍等片刻再刷新浏览器 
Judging: 系统正在评判你的程序,最多几秒钟后您就能看到最终的评判结果 
Accepted: 您的程序是正确的,恭喜! 
Presentation Error: 
虽然您的程序貌似输出了正确的结果,但是这个结果的格式有点问题。请检查程序的输出是否多了或者少了空格(' ')、制表符('\t')或者换行符('\n')。 
Wrong Answer: 你的程序正常运行并输出了结果,不过是答案错误 
Runtime Error: 
运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。以下列出常见的错误类型: 
Runtime Error(ARRAY_BOUNDS_EXCEEDED) //数组越界 
Runtime Error(DIVIDE_BY_ZERO) //除零 
Runtime Error(ACCESS_VIOLATION) //非法内存访问 
Runtime Error(STACK_OVERFLOW) //堆栈溢出 
Time Limit Exceeded: 您的程序运行的时间已经超出了这个题目的时间限制。 
Memory Limit Exceeded: 您的程序运行的内存已经超出了这个题目的内存限制。 
Output Limit Exceeded:你的程序往控制台输出了太多信息,请检查程序是否死循环
。  
Compile Error: 
您的程序语法有问题,编译器无法编译。具体的出错信息可以点击链接查看。 
System Error: OJ内部出现错误。由于我们的OJ可能存在一些小问题,所以出现这个信息请原谅,同时请及时与管理员联系。 
以下两个为Special Judge题目特有,一般与Judge程序不够健壮有关(当然很大的可能用户的结果是错误的),如发现这样的反馈,请告知管理员: 
Judge Delay:评判时间过长,强制终止评判 。 
Judge Error:一般不会发生这样的错误,因为这代表Judge程序本身是错的,不过有备无患吧^_^。 
 
问:系统使用的编译环境是怎样的?需要特别注意什么吗? 
答:本系统运行于Windows平台,内置九种编译环境,支持C/C++/Java/Pascal/C#/Python六种语言,有关编译器的注意事项有: 
1、GCC,,G++ 分别为GNU组织提供的C 和C++语言的编译器,与常用的VC有少许不同,主要有main 函数必须返回int 类型的数据 
。 
1001题解答如下: 
G++: 
#include 
using namespace std;
int main()
{
    int a,b;
    cin >> a >> b;
    cout << a+b << endl;
    return 0;
}
GCC,C89标准, 如不能在for中定义变量,类似for(int i=0;i<n;i++): 
#include 
int main()
{
    int a,b;
    scanf("%d %d",&a, &b);
    printf("%d\n",a+b);
    return 0;
}
Java(JDK 1.5): 
import java.io.*;
import java.util.*;
public class Main
{
    public static void main(String args[]) throws Exception
    {
        Scanner cin=new Scanner(System.in);
        int a=cin.nextInt(),b=cin.nextInt();
        System.out.println(a+b);
    }
}
Pascal: 
var
    a,b:Integer;
begin
    Readln(a,b); 
    Writeln(a+b);
end.
C#: 
using System; 
public class TOJ1001
{
     private static void Main() 
     {
         int a = int.Parse(Console.ReadLine()); 
         int b = int.Parse(Console.ReadLine()); 
         Console.WriteLine(a+b); 
     }
}
Python2: 
a=raw_input()
b=raw_input()
print int(a)+int(b)
Python3: 
a=input()
b=input()
print(int(a)+int(b))
C++17(可以使用C++新特性): 
#include
using namespace std;
int main()
{
    ios::sync_with_stdio(false);//关闭输入输出同步流
    cin.tie(0);
    cout.tie(0);
    int a,b;
    cin>>a>>b;
    auto x1{a}, x2{b};
    cout<
注意在使用万能头文件时,若输入输出数据量较大,建议关闭同步流且使用C++ I/O; 
若使用万能头文件stdc++.h或cstdio头文件,同时使用C I/O可能会导致速度较慢,建议使用stdio.h 
 
问:有些题目要求“多组测试数据”,我应该怎样处理这样的数据输入? 
答:举例说明多组数据输入的问题如下 
题号:1002 
解答: 
#include 
int main()
{
    int n,i,a,b;
    scanf("%d",&n); /*先输入测试组数*/
    for(i=0;ib)
            printf("%d\n",a);
        else
            printf("%d\n",b);
    }
}
说明: 
1、样例输入了“1 2”和“3 4”两行,但这只是“样例”,实际可能有很多行; 
2、样例输出为“3”和“7”,分别对应样例输入的“1 2”和“3 4”, 
但要注意:不要以为输入完成后,才开始输出;而是:输入一行“1 2”后输出一行“3”, 
再输入一行“3 4”,输出“7”,直到结束; 
因为“1 2”和“3 4”两行是无关的,属于两组独立的测试用例。 
解答: 
#include 
int main() /*注意这里需要 int 类型,并非“void main()”*/
{
    int a,b;
    while(scanf("%d %d",&a,&b)!=EOF) /*判断输入是否结束*/
    {
        printf("%d\n",a+b); /*每接受一行输入后,马上运算,把结果输出*/
    }
}
========================= 
题号:1077 
解答: 
#include 
int main()
{
    int n,i,a,b;
    scanf("%d",&n); /*先输入测试组数*/
    for(i=0;i
========================= 
题号:1078 
解答: 
#include 
int main()
{
    int a,b;
    while(1)
    {
        scanf("%d %d",&a,&b);
        if(a==0 && b==0)break; /*输入结束标志*/
            printf("%d\n",a+b);
    }
}
或利用逗号表达式,简化判断: 
#include 
int main()
{
    int a,b;
    while(scanf("%d %d",&a,&b), a!=0 || b!=0)
    {
        printf("%d\n",a+b);
    }
}
========================= 
题号:1079 
解答: 
#include 
int main()
{
    int a,b,k=0;
    while(1)
    {
        scanf("%d %d",&a,&b);
        if(a==0 && b==0)break; /*输入结束标志*/
        if(k)printf("\n"); /*每组数据之间保留一个空行*/
            printf("%d\n",a+b);
        k=1;
    }
}
或: 
#include 
int main()
{
    int a,b,k=0;
    while(scanf("%d %d",&a,&b), a!=0 || b!=0)
    {
        if(k)printf("\n"); /*每组数据之间保留一个空行*/
        printf("%d\n",a+b);
        k=1;
    }
}
 
问:有些题目标有“Special Judge”,这是什么意思呢? 
答:有的题目可能会有答案不唯一的情况,这时会使用一个Special Judge程序提取用户的答案并判断对错,用户无须知道Special 
Judge的评判细节,只有一个需要注意的地方,即为简化评判,Special Judge程序一般不评判Presentation 
Error,请务必保证输出格式的正确。 
 
问:我想参加TZOJ的在线比赛,如何参加比赛呢? 
答:TZOJ两种类型的比赛:一种是public公开比赛,另外一种是private内部比赛。所有注册用户均可以参加公开的比赛,
内部比赛需要用户报名并通过管理员审核才可以参加。 
  
 
问:如何使用64位整数类型? 
答:服务器支持64位有符号和无符号类型的整数。  
	- 有符号型64位整数,值域为:-9223372036854775808 .. 9223372036854775807。
 
	 
 
		
			| 语言 | 
			GCC | 
			C++ | 
			Pascal | 
		 
		
			| 类型名称 | 
			
			__int64, long long | 
			
			__int64, long long | 
			
			int64 | 
		 
		
			| 输入方法 | 
			
			scanf("%I64d", &x); scanf("%lld", &x);  | 
			
			cin>>x;  | 
			
			read(x); | 
		 
		
			| 输出方法 | 
			
			printf("%I64d", x);printf("%lld", x); | 
			
			cout<<x; | 
			
			write(x); | 
		 
	 
	 
  
	- 无符号型64位整数,值域为:0 .. 18446744073709551615。
 
	 
 
		
			| 语言 | 
			GCC | 
			C++ | 
			Pascal | 
		 
		
			| 类型名称 | 
			
			unsigned __int64, unsigned long long | 
			
			unsigned __int64, unsigned long long | 
			
			qword | 
		 
		
			| 输入方法 | 
			
			scanf("%I64u", &x); scanf("%llu", &x);  | 
			
			cin>>x;  | 
			
			read(x); | 
		 
		
			| 输出方法 | 
			
			printf("%I64u", x);printf("%llu", x); | 
			
			cout<<x; | 
			
			write(x); | 
		 
	 
	 
 
 |