在Google Code Jam中总是出现运行时错误

0 投票
2 回答
2444 浏览
提问于 2025-06-08 05:48

我在谷歌编程大赛中用Python 3写了代码,但总是遇到运行时错误。虽然我的代码是正确的,并且在Jupyter Notebook中可以正常运行。

我已经找到一个关于这个问题的答案,但我对解决方案的具体实现不太明白,所以能不能请大家给我一些解决这个问题的建议呢?

这是我的代码-

import numpy as np
n = int(input())
a = []
b = []
t = []
for i in range(n):
    a.append(int(input()))
    for j in range(a[-1]):
        t.append(list(map(int, input().split())))

        b += t
        t = []
    x = a[0]
    k = 0


def cal(temp):
    row = 0
    k = 1
    for i in temp:
        dict = {}
        flag = 0
        for j in i:
            if j not in dict.keys():
                dict[j] = 1
                flag = 0

            else:
                flag = 1
                break

        if flag == 1:
            row += k
    return row


def func(temp):
    temp = np.array(temp)
    t = 0
    row = cal(temp)
    for i in range(len(temp)):
        t += temp[i][i]

    col = cal(temp.T)
    return t, row, col


for i in range(n):
    q = func(b[k:x])

    d = i + 1
    print("Case #{}: {} {} {}".format(d, q[0],q[1],q[2]))

    k = x
    x += a[i]

相关问题:

  • 暂无相关问题
暂无标签

2 个回答

0

这是一个辅助函数,用来处理输入。我不会给你任何具体的逻辑,但这个函数会帮助你在谷歌评测系统中工作。

def solve(matrix, size):
   return "{} {} {}".format(a, b, c)

for T in range(1, int(input()) + 1):
    size = int(input())
    matrix = [input().split(' ') for i in range(size)]
    print("Case #{}: {}".format(T, solve(matrix, size)))
1

你不能使用 numpy 和其他外部库。而且,像 f strings 这样的写法也不管用。

而且在你的整个代码中,其实你也没有用到任何 numpy 的功能,所以直接用普通的 Python list 替代就可以了,应该没问题。

祝你在 GCJ 中好运~

撰写回答