簡體   English   中英

我的每個Python代碼都在SPOJ中提供了NZEC

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM