簡體   English   中英

在 codejam 中出現運行時錯誤,但在其他地方工作正常

[英]Getting Runtime error in codejam but works fine elsewhere

我在 python 3 中編寫了我的代碼。它在 python ide和在線編程 Z1B8BBE06F76F76B270D848BDA 上運行良好有人可以幫忙解釋為什么會這樣嗎? 這是問題的鏈接Vestigium

def main(x,n,N):
n = len(x)
r = 0
for i in x:
    if len(i)> len(set(i)):
        r += 1
cols = []
k = 0
for i in range(n):
    col = []
    for j in range(n):
        col.append(x[i][j])
        if i == j:
            k += int(x[i][j])
    cols.append(col)
c = 0
for i in cols:
    if len(i)> len(set(i)):
        c += 1
print("Case #",N,":",k,r,c,)


  
 N = int(input())
    for i in range(N):
        x = []
        n = int(input())
        for j in range(n):
            row = []
            for p in range(n):
                v = int(input())
                row.append(v)
            x.append(row)
        num = i + 1
        main(x,n,num)
  1. 您正在錯誤地處理輸入。 您為行的每個元素調用input() ,這會產生錯誤。 您應該將整行作為一個輸入來處理。 代替
for j in range(n):
       row = []
       for p in range(n)
             v = int(input())
             row.append(v)
       x.append(row)

for j in range(n):
        row = list(map(int, input().split()))
        x.append(row)
  1. 嘗試在 IDE 中運行此語句:
print("Case #",1,":",1)

這將打印Case # 1: 1 該程序明確指定 output 為Case #1: 1格式。 #和案例編號之間的額外空格會導致錯誤。 使用 Python 3 及更高版本,使用 f-string 使其更容易。

print(f"Case #{N}: {k} {r} {c}")

這應該可以修復運行時錯誤。 我仍然懷疑它會給出錯誤的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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