많은 것을 추가했다. 하지만 선분의 길이(17386)은 왜 틀린건지 모르겠다. CCW를 해야될것 같다.
This commit is contained in:
35
zeta_python/17386.py
Normal file
35
zeta_python/17386.py
Normal file
@@ -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)
|
||||||
1
zeta_python/2162.py
Normal file
1
zeta_python/2162.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
T = int(input())
|
||||||
16
zeta_python/completed/1011.py
Normal file
16
zeta_python/completed/1011.py
Normal file
@@ -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)
|
||||||
11
zeta_python/completed/16931.py
Normal file
11
zeta_python/completed/16931.py
Normal file
@@ -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)
|
||||||
5
zeta_python/completed/2166.py
Normal file
5
zeta_python/completed/2166.py
Normal file
@@ -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))
|
||||||
2
zeta_python/completed/3046.py
Normal file
2
zeta_python/completed/3046.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
R1, S = map(int, input().split())
|
||||||
|
print(2 * S - R1)
|
||||||
Reference in New Issue
Block a user