SRM 433 div1 easy

pythonで解いた.C++より気軽に書ける気がする

# coding: utf-8
def distance2(p, q):
    return (p[0]-q[0])**2 + (p[1]-q[1])**2

def isinCircle(c,r,p):
    if distance2(c,p) < r**2:
        return True
    return False

class CirclesCountry:
    def leastBorders(self, X, Y, R, x1, y1, x2, y2):
        p = (x1,y1)
        q = (x2,y2)
        ans = 0
        for c,r in zip(zip(X,Y),R):
            if isinCircle(c,r,p):
                ans += 1
            if isinCircle(c,r,q):
                ans += 1
            if isinCircle(c,r,p) and isinCircle(c,r,q):
                ans -= 2
        return ans

最近,無機化学をすっかり忘れている