我是编程新手,这是我第一次使用codechef。当我在cmd中运行时,我正在获得正确的输出,但是当我在codechef上提交时,它一直在说运行时错误。这是我的代码,有人可以帮助我。这是问题所在:http://www.codechef.com/problems/TIDRICE
import java.io.*;
import java.lang.*;
import java.util.*;
class Rice
{
public static void main(String args[]) throws IOException
{
String a[][]=new String[20][100];
String name[]=new String[100];
String vote[]=new String[100];
int x,y,j;
int count=0;
int flag=0;
int counts[]=new int[20];
Scanner sc=new Scanner(System.in);
x=sc.nextInt();
for(int i=0;i<x;i++)
{
y=sc.nextInt();
for(j=0;j<y;j++)
{
a[j][0]=sc.nextLine();
String[] parts=a[j][0].split(" ");
name[j]=parts[0];
vote[j]=parts[1];
if(parts[1].equals("+")&&(j==0))
{
count=count+1;
}
if(parts[1].equals("-")&&(j==0))
{
count=count-1;
}
if((parts[1].equals("+"))&&(j>0)&&(parts[0].equals(name[j-1]))&&(vote[j].equals("+")))
{
count=count+0;
}
if((parts[1].equals("+"))&&(j>0)&&(!(parts[0].equals(name[j-1]))))
{
count=count+1;
}
if((parts[1].equals("-"))&&(j>0)&&((!parts[0].equals(name[j-1]))))
{
count=count-1;
}
if((parts[1].equals("-"))&&(j>0)&&(parts[0].equals(name[j-1]))&&(vote[j].equals("+")))
{
count=count-2;
}
if((parts[1].equals("+"))&&(j>0)&&(parts[0].equals(name[j-1]))&&(vote[j].equals("-")))
{
count=count+2;
}
}
counts[i]=count;
count=0;
flag=flag+1;
}
for(int k=0;k<flag;k++)
System.out.println(counts[k]);
}
}
答案 0 :(得分:0)
NZEC表示非零退出代码。 具体来说,由于生成一些异常(运行时错误),您将在java中收到此错误。
尝试在java中使用这种格式:
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws IOException
{
try{
//Your Solve
}catch(Exception e){
return;
}
}
}
很可能您的代码可能正在生成ArrayIndexOutOfBoundException。检查你做错了什么。