解决Python运行超时问题

img

img

def area(x, y, n):
   length = 2*n - 1   
 a = [0] * length  
  for i in range(n):     
   b = [0] * length    
    for j in range(n):        
    b[i+j] = y[i]*x[j]     
   a = [a[k]+b[k] for k in range(len(a))]  
  a = [str(i) for i in a]    
return a
T= int(input())
rows = []
columns = []
for _ in range(T):    n, d = map(int, input().split())    #n = int(n)    x = list(map(int,input().split()))    y = list(map(int, input().split()))    #x = [int(i) for i in x]    #y = [int(i) for i in y]    if d == 0:        rows.append(area(x,y,n))        columns.append(area(x,y[::-1],n))    else:        rows.append(area(x,y[::-1],n))        columns.append(area(x,y,n))for i in range(T):    print(" ".join(rows[i]))    print(" ".join(columns[i]))

这题就是大数相乘的多项式求和。使用numpy可以一步解出来,代码如下:

import numpy as np

def area(x, y,):
    con = list(np.convolve(x,y))
    con = [str(i) for i in con】
    return con

T= int(input())
rows = []
columns = []
for _ in range(T):
    n, d = input().split()
    n = int(n)
    x = input().split()
    y = input().split()
    x = [int(i) for i in x]
    y = [int(i) for i in y]
    if d == '0':
        rows.append(area(x,y))
        columns.append(area(x,y[::-1]))
    else:
        rows.append(area(x,y[::-1]))
        columns.append(area(x,y))

for i in range(T):
    print(" ".join(rows[i]))
    print(" ".join(columns[i]))

你的代码格式好像乱了

代码格式间隔混乱了
方便的话重新发送下

有问题及时沟通

python 对缩进是强要求的

python符号和缩进不对,本该一个循环的都串行了,而且多行代码不知道一行行不行,最好还是分开,还有注意标点