[英]My Every python code gives NZEC in SPOJ
我在使用Python的SPOJ中做了幾個問題。 我有幾個正確的答案。 大部分時間我都會繼續努力獲取NZEC。 我在代碼末尾添加了sys.exit(0)。 但它仍然顯示相同。
我想知道我的一些寫作實踐是否犯了這個錯誤。 請提出任何更改。 我認為我的算法是書面的,但是plz建議任何更改(如果錯誤)。
這是問題的鏈接。
http://www.spoj.com/problems/NSTEPS/
def check_num(m,n):
if(m!=n and m!=n+2):
return 0;
elif(m==n) :
if(m%2==1):
a=int((m+1)/2)-1;
return (1+a*4);
else :
a=int(m*2);
return(a);
elif(m==n+2):
if(n%2==1):
a=int((n+1)/2)+1;
return (3+a*4);
else :
a=int(n*2);
return(2+a);
import sys;
inp=sys.stdin.read().split("\n");
N=int(inp[0]);
i=1;
l=dict();
b=dict();
c=dict();
for i in range(1,N+1):
a=inp[i];
k=0;
b[i],c[i]=[int(a[k]),int(a[k+2])];
if (b[i]==0 and c[i]==0):
l[i]=0;
else :
l[i]=check_num(b[i],c[i]);
for i in range(1,N+1):
if (l[i]==0):
if (c[i]==0 and b[i]==0):
print l[i];
else:
print "No Number";
else :
print l[i];
sys.exit(0)
提前致謝。
基本上,當您嘗試訪問大於其大小的數組或某些測試用例時,程序會無限運行時,會出現nzec錯誤或運行時錯誤。
最后,它們可能是您代碼中的邏輯錯誤,請在您的代碼中嘗試極端測試用例。
由於在spoj中,該站點無法正確維護,對於某些問題,我嘗試過用python和java調試,但在C和C ++中使用了AC。 這是由於問題的解決者沒有設置正確的時機而發生的。 這類事情在我身上經常發生。
快樂編碼
NZEC主要是由於數組索引。 例如:一個一般的例子:string s =''; s [0] ='a'將賦予NZEC而且數組索引超出范圍將賦予NZEC
您應盡量避免使用數組索引。 而是使用類似“ for..in”的結構
嘗試將表格替換為空格。 同樣,大輸出也會導致此問題,因此請嘗試使用sys.stdout.write()和sys.stdout.flush()。 另一個常見原因是:到達列表,int('423 \\ n')或其他函數(參數)的邊界時,如果參數為無或格式錯誤,則在讀取所有輸入后調用sys.stdin.readline()將產生未處理的異常,其他未處理的異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.