简单的Python程序检查交叉点

时间:2014-12-16 07:03:37

标签: python-2.7 exception-handling

该计划的目的是找到至少2个圆圈交叉点的那些点。(空间是1000x1000矩阵)

n=input()
mat=[[0 for i in range(1005)] for i in range(1005)]
circles=[]

for i in range(n):
    circles.append(map(int,raw_input().split()))

ans=0 
for circle in circles:
    minx=circle[0]-circle[2]
    maxx=circle[0]+circle[2]
    miny=circle[1]-circle[2]
    maxy=circle[1]+circle[2]
    for i in range(minx,maxx+1):
        for j in range(miny,maxy+1):
            if mat[i][j]<=1:
                if ((i-circle[0])**2+(j-circle[1])**2)<=(circle[2]**2):
                    mat[i][j]+=1
                    if mat[i][j]>1:
                        ans+=1
print ans

n表示圆的数量 圆圈包含圆心和半径,格式为[x,y,r],例如,让圆圈= [[3,2,4],[2,5,2]],然后它包含两个以(3,2)为中心的圆圈(2,5)分别为半径4和2。

逻辑是否正确?...会触发任何异常吗?

0 个答案:

没有答案