python - 在 codechef 为什么我的 python 代码给出 NZEC 错误:-
问题描述
输入
输入的第一行包含一个整数 T
表示测试用例的数量。T 测试用例的描述如下。
每个测试用例的第一行包含两个空格分隔的整数 x 和 y。
第二行包含三个空格分隔的整数 N 、 M 和 K
第三行包含 2N 个空格分隔的整数 a1,b1,a2,b2,...,aN,bN。
第四行包含 2M 个空格分隔的整数 c1,d1,c2,d2,…,cM,dM。
第五行包含 2K 个空格分隔的整数 e1,f1,e2,f2,…,eK,fK
输出
对于每个测试用例,打印一行包含一个实数的最小距离。
如果其绝对或相对误差不超过 10^-6,则您的答案将被视为正确。.
import math
T=int(input())
for _ in range(T):
x,y=map(int,raw_input().split())
n,m,k=map(int,raw_input().split())
nr=list(map(int,input().split()))
mr=list(map(int,input().split()))
kr=list(map(int,input().split()))
ar=[x]+[y]
p,q=[],[]
for i in range(0,n*2,2):
for j in range(0,k*2,2):
p.append(math.sqrt((nr[i]-kr[j])**2+(nr[i+1]-kr[j+1])**2))
for i in range(0,m*2,2):
for j in range(0,k*2,2):
q.append(math.sqrt((mr[i]-kr[j])**2+(mr[i+1]-kr[j+1])**2))
h=10000000000.00
for i in range(0,m*2,2):
d=math.sqrt((ar[0]-mr[i])**2+(ar[1]-mr[i+1])**2)
for j in range(0,n*2,2):
d1=math.sqrt((mr[i]-nr[j])**2+(mr[i+1]-nr[j+1])**2)
c=min(p[j]+d+d1,p[j+1]+d+d1)
if c < h:
X=c
g=10000000000.00
for i in range(0,n*2,2):
d=math.sqrt((ar[0]-nr[i])**2+(ar[1]-nr[i+1])**2)
for j in range(0,m*2,2):
g=math.sqrt((nr[i]-mr[j])**2+(nr[i+1]-mr[j+1])**2)
c=min(q[j]+d+d1,q[j+1]+d+d1)
if c < g:
g=c
result=min(h,g)
print(result)
解决方案
推荐阅读
- css - 下拉菜单隐藏在父元素后面
- javascript - 在移动设备上缩放 ThreeJS 视图
- windows-10 - 在 Windows 10 上将 Perl 6 安装到 MSYS2
- angular - Angular如何在调用Web服务时禁用屏幕
- java - 如何在使用 selenium 通过 chrome 下载时更改文件名
- javascript - 图像被多次下载
- swt - ChartComposite 变成一个滚动的Composite
- android - 在 Android 应用程序的 ViewGroup 的“onInterceptTouchEvent”方法中,ACTION_MOVE 事件能否在 ACTION_DOWN 事件之前到达?
- c++ - 在 C++ 中使用 while 循环查找一组数字中的最小值的程序
- html - 视频 I 帧在移动浏览器上无法正常工作