SPOJ中的NZEC错误

时间:2013-11-07 20:10:22

标签: python

我认为我的算法是正确的(做得非常糟糕)但我在ideone.com上获得了理想的输出。但在SPOJ中它继续说“运行时错误NZEC”。为了做到这一点,请建议一些更改。

以下是问题的链接:

http://www.spoj.com/problems/LASTDIG/

这是我的代码:

import sys;
a=dict();
c=dict();
a[1]=[1,1,1,1];
a[2]=[2,4,8,6];
a[3]=[3,9,7,1];
a[4]=[4,6,4,6];
a[5]=[5,5,5,5];
a[6]=[6,6,6,6];
a[7]=[7,9,3,1];
a[8]=[8,4,2,6];
a[9]=[9,1,9,1];
a[10]=[0,0,0,0];
inp=sys.stdin.read().strip().split();
t=int(inp[0]);
readat=1;
for i in xrange(t):
    m,n=map(long,inp[readat:readat+2]);
    r=n%4;
    s=m%10;
    c[i]=a[s][r-1];
    readat=readat+2;
for i in xrange(t):
    print c[i]; 

1 个答案:

答案 0 :(得分:1)

首先要做的事情。你正在使用Python,你不必用半冒号“;”来结束语句! (如果你有写这么多C程序的习惯,那没关系!)

其次,当你只用1来做时,你不应该使用2 for循环。(打印可以在第一个循环中执行,而不是这将是最有效的方式)

您可能知道的NZEC错误代表Non Zero Exit Code由于KeyError而由Python为您的代码返回的错误。请注意您的字典a如何使用密钥1到10&不是0?当s是10的倍数时,m%10将为0.因此a[10]实际应为a[0]