많은 것을 추가했다. 하지만 선분의 길이(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