对于E回合代码2019(#{3}}中的#1,我的代码可以在我的计算机上成功运行,但无法在线判断(跳过了运行时错误测试集)。但是当我在线运行测试时,就可以了(完成)。
我该怎么做才能解决此问题?
import numpy as np
def DG(conn1,i,A,k):
newk=np.concatenate((np.argwhere(conn1[:,i]==1),np.argwhere(conn1[i,:]==1)),axis=0)
if newk.size>0:
newk=newk.tolist()
newk=sum(newk,[])
k=k+newk
# vertex conencted to i
if len(k)!=0:
for aa in k: # 遍历每个与i连接的node
coco=conn1[aa,range(0,A)]
if 1 in coco:
return 1
else:
conn2=conn1.copy()
conn2[aa,i]=0
k.pop(0)
return DG(conn2,aa,A,k) # vertex connect to aa
else:
return 2
def solve(N,M):
conn=np.zeros((N,N))
for i in range(0,M):
v1,v2=[int(s) for s in input().split(" ")]
v1,v2=sorted([v1,v2])
conn[v2-1,v1-1]=1 # v1<v2
degree=np.zeros((N,1))
for i in range(1,N):
temp=conn[i,range(0,i)]
if 1 in temp: # directly connect to 0:i
degree[i]=1
else: # indirectly connect to 0:i
conn1=conn.copy()
degree[i]=DG(conn1,i,i,[])
return int(np.sum(degree))
case=int(input())
for k in range(1,case+1):
N,M=[int(s) for s in input().split(" ")]
degree=solve(N,M)
print("Case #{}: {}".format(k, degree))
我使用以下官方测试。我可以离线获取这些正确的输出,但是无法在线判断。我也尝试一些复杂的测试用例。
2
2 1
1 2
Case #1: 1
3 1
2 3
Case #2: 3