Submission #716002


Source Code Expand

def calcDistance(x1, y1, x2, y2):
    x = x1 - x2
    y = y1 - y2
    return pow(x ** 2 + y ** 2, 0.5)

def inCircle(cx, cy, r, x, y):
    return calcDistance(cx, cy, x, y) <= r

def inRectangle(rx1, ry1, rx2, ry2, x, y):
    if rx1 == rx2 or ry1 == ry2:
        # 未チェック
        import sys
        sys.stderr.write("長方形の座標値がおかしいです")
        print(" ".join(["rx1", "rx2", "ry1", "ry2"]))
        print(" ".join([str(i) for i in [rx1, rx2, ry1, ry2]]))
        raise Exception

    # 大きさチェック
    if rx2 < rx1:
        rx1, rx2 = rx2, rx1
    if ry2 < ry1:
        ry1, ry2 = ry2, ry1
    return rx1 <= x <= rx2 and ry1 <= y <= ry2

def circleInRectangle(cx, cy, r, rx1, ry1, rx2, ry2):
    l1 = [-1, 1, -1, 1]
    l2 = [1, 1, -1, -1]
    cnt = 0
    for i in range(4):
        if(inRectangle(rx1, ry1, rx2, ry2, (cx + r * l1[i]), (cy + r * l2[i]))):
            cnt += 1
    return cnt == 4

def rectangleInCircle(rx1, ry1, rx2, ry2, cx, cy, r):
    l1 = [rx1, rx2, rx1, rx2]
    l2 = [ry1, ry1, ry2, ry2]
    cnt = 0
    for i in range(4):
        if(inCircle(cx, cy, r, l1[i], l2[i])):
            cnt += 1
    return cnt == 4

def solve():
    cx, cy, r = map(int, input().split())
    rx1, ry1, rx2, ry2 = map(int, input().split())
    # RED:CIRCLE
    print("NO" if circleInRectangle(cx, cy, r, rx1, ry1, rx2, ry2) else "YES")
    # BLUE:RECTANGLE
    print("NO" if rectangleInCircle(rx1, ry1, rx2, ry2, cx, cy, r) else "YES")

if __name__=="__main__":
    solve()

Submission Info

Submission Time
Task A - 塗り絵
User yumechi
Language PyPy3 (2.4.0)
Score 100
Code Size 1570 Byte
Status AC
Exec Time 390 ms
Memory 43120 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 35
Set Name Test Cases
Sample example_0.txt, example_1.txt, example_2.txt, example_3.txt, example_4.txt
All blue_0.txt, blue_1.txt, blue_2.txt, blue_3.txt, blue_4.txt, blue_5.txt, blue_6.txt, blue_7.txt, blue_8.txt, blue_9.txt, example_0.txt, example_1.txt, example_2.txt, example_3.txt, example_4.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, red_0.txt, red_1.txt, red_2.txt, red_3.txt, red_4.txt, red_5.txt, red_6.txt, red_7.txt, red_8.txt, red_9.txt
Case Name Status Exec Time Memory
blue_0.txt AC 361 ms 42992 KB
blue_1.txt AC 361 ms 42992 KB
blue_2.txt AC 363 ms 42992 KB
blue_3.txt AC 361 ms 42992 KB
blue_4.txt AC 362 ms 42992 KB
blue_5.txt AC 372 ms 43120 KB
blue_6.txt AC 362 ms 42992 KB
blue_7.txt AC 365 ms 42992 KB
blue_8.txt AC 362 ms 42992 KB
blue_9.txt AC 362 ms 42992 KB
example_0.txt AC 362 ms 42992 KB
example_1.txt AC 364 ms 42992 KB
example_2.txt AC 361 ms 42992 KB
example_3.txt AC 368 ms 42992 KB
example_4.txt AC 360 ms 42992 KB
random_0.txt AC 390 ms 42992 KB
random_1.txt AC 362 ms 42992 KB
random_2.txt AC 362 ms 42992 KB
random_3.txt AC 363 ms 42992 KB
random_4.txt AC 362 ms 42992 KB
random_5.txt AC 362 ms 42992 KB
random_6.txt AC 363 ms 42992 KB
random_7.txt AC 361 ms 42992 KB
random_8.txt AC 364 ms 42992 KB
random_9.txt AC 361 ms 42992 KB
red_0.txt AC 362 ms 42992 KB
red_1.txt AC 362 ms 42992 KB
red_2.txt AC 370 ms 42992 KB
red_3.txt AC 371 ms 42992 KB
red_4.txt AC 362 ms 42992 KB
red_5.txt AC 364 ms 42992 KB
red_6.txt AC 363 ms 42992 KB
red_7.txt AC 367 ms 42992 KB
red_8.txt AC 361 ms 42992 KB
red_9.txt AC 363 ms 42992 KB