可以認為,新的平分點和舊的平分點中一定有一個點是重合的。
這樣此題就變成了一個純模擬的問題了。
寫了個腳本,可以過官方的數據。
import sys
f = sys.stdin
D = 10000.0
for s in f.readlines():
n, m = [ int(i) for i in s.split(' ') ]
m += n
b = 0
ans = 0
g = lambda x,y: D*x/y
for a in range(n):
while g(b, m) <= g(a, n):
b += 1
d = min(abs(g(b, m) - g(a, n)), abs(g(b - 1, m) - g(a, n)))
ans += d
print ans