From 99c9db415da25e84a4d8c1c7479e9f424069f172 Mon Sep 17 00:00:00 2001 From: yenru0 Date: Thu, 6 Aug 2020 16:32:40 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A7=8E=EC=9D=80=20=EA=B2=83=EC=9D=84=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=ED=96=88=EB=8B=A4.=20=ED=95=98=EC=A7=80?= =?UTF-8?q?=EB=A7=8C=20=EC=84=A0=EB=B6=84=EC=9D=98=20=EA=B8=B8=EC=9D=B4(17?= =?UTF-8?q?386)=EC=9D=80=20=EC=99=9C=20=ED=8B=80=EB=A6=B0=EA=B1=B4?= =?UTF-8?q?=EC=A7=80=20=EB=AA=A8=EB=A5=B4=EA=B2=A0=EB=8B=A4.=20CCW?= =?UTF-8?q?=EB=A5=BC=20=ED=95=B4=EC=95=BC=EB=90=A0=EA=B2=83=20=EA=B0=99?= =?UTF-8?q?=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zeta_python/17386.py | 35 ++++++++++++++++++++++++++++++++++ zeta_python/2162.py | 1 + zeta_python/completed/1011.py | 16 ++++++++++++++++ zeta_python/completed/16931.py | 11 +++++++++++ zeta_python/completed/2166.py | 5 +++++ zeta_python/completed/3046.py | 2 ++ 6 files changed, 70 insertions(+) create mode 100644 zeta_python/17386.py create mode 100644 zeta_python/2162.py create mode 100644 zeta_python/completed/1011.py create mode 100644 zeta_python/completed/16931.py create mode 100644 zeta_python/completed/2166.py create mode 100644 zeta_python/completed/3046.py diff --git a/zeta_python/17386.py b/zeta_python/17386.py new file mode 100644 index 0000000..3f2e47f --- /dev/null +++ b/zeta_python/17386.py @@ -0,0 +1,35 @@ +x1, y1, x2, y2 = map(int, input().split()) +x3, y3, x4, y4 = map(int, input().split()) + +vx1, vy1 = x2 - x1, y2 - y1 +vx2, vy2 = x4 - x3, y4 - y3 +if vx1 == 0 and vy1 == 0: + print(0) +elif vx1 == 0 or vy1 == 0: + if vx1 == 0: + rx = x1 + ry = (vy2/vx2) * (rx - x3) + y3 + + t0 = (ry - y1) / vy1 + t1 = (rx - x3) / vy2 + else: + rx = x3 + ry = (vy1 / vx1) * (rx-x1) + y1 + + t0 = (rx - x1) / vx1 + t1 = (ry - y3) / vy2 + if t0 < 0 or t0 > 1 or t1 < 0 or t1 > 1: print(0) + else: print(1) +else: + a0 = vy1 / vx1 + a1 = vy2 / vx2 + + rx = (a0 * x1 - a1 * x3 + y3 - y1 )/ (a0 - a1) + ry = a0 * (rx - x1) + y1 + + t0 = (rx - x1) / vx1 + t1 = (rx - x3) / vx2 + if a0 == a1: print(0) + elif t0 < 0 or t0 > 1 or t1 < 0 or t1 > 1: print(0) + else: + print(1) \ No newline at end of file diff --git a/zeta_python/2162.py b/zeta_python/2162.py new file mode 100644 index 0000000..ad4cc60 --- /dev/null +++ b/zeta_python/2162.py @@ -0,0 +1 @@ +T = int(input()) \ No newline at end of file diff --git a/zeta_python/completed/1011.py b/zeta_python/completed/1011.py new file mode 100644 index 0000000..1b608f1 --- /dev/null +++ b/zeta_python/completed/1011.py @@ -0,0 +1,16 @@ +import math +T = int(input()) + +for i in range(T): + x, y = map(int, input().split()) + distance = y - x + disted = distance ** (1 / 2) + upper = math.ceil(disted) + + lowersq = (upper - 1)**2 + uppersq = upper**2 + + if (lowersq + uppersq)/2 <= distance: + print(upper * 2 -1) + else: + print(upper * 2 - 2) diff --git a/zeta_python/completed/16931.py b/zeta_python/completed/16931.py new file mode 100644 index 0000000..fa35aa8 --- /dev/null +++ b/zeta_python/completed/16931.py @@ -0,0 +1,11 @@ +N, M = map(int, input().split()) +sqs = [[0] + list(map(int, input().split())) + [0] for i in range(N)] +sqs.insert(0, list(0 for i in range(M + 2))) +sqs.append(list(0 for i in range(M + 2))) + +total = 2 * N * M +for i in range(N + 1): + for j in range(M + 1): + total += abs(sqs[i][j] - sqs[i][j + 1]) + total += abs(sqs[i][j] - sqs[i + 1][j]) +print(total) diff --git a/zeta_python/completed/2166.py b/zeta_python/completed/2166.py new file mode 100644 index 0000000..f8e97e6 --- /dev/null +++ b/zeta_python/completed/2166.py @@ -0,0 +1,5 @@ +N = int(input()) +points = [list(map(int, input().split())) for i in range(N)] +points += [points[0]] +N +=1 +print("%.1f" % (abs(sum(points[i][0] * points[j][1] for i, j in zip(range(N - 1), range(1, N))) - sum(points[j][0] * points[i][1] for i, j in zip(range(N - 1), range(1, N))))/2)) diff --git a/zeta_python/completed/3046.py b/zeta_python/completed/3046.py new file mode 100644 index 0000000..e73e06a --- /dev/null +++ b/zeta_python/completed/3046.py @@ -0,0 +1,2 @@ +R1, S = map(int, input().split()) +print(2 * S - R1)