結果
問題 |
No.2632 Center of Three Points in Lp Norm
|
ユーザー |
|
提出日時 | 2024-02-16 23:11:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,095 bytes |
コンパイル時間 | 215 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 68,340 KB |
最終ジャッジ日時 | 2024-09-28 21:53:31 |
合計ジャッジ時間 | 79,393 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 WA * 4 |
ソースコード
import numpy as np import scipy import time import random p = float(input()) ax, ay = map(float, input().split()) bx, by = map(float, input().split()) cx, cy = map(float, input().split()) def my_pow(x): return np.abs(x) ** p def f(point): x, y = point anorm = my_pow(ax - x) + my_pow(ay - y) bnorm = my_pow(bx - x) + my_pow(by - y) cnorm = my_pow(cx - x) + my_pow(cy - y) return max(anorm, bnorm, cnorm) - min(anorm, bnorm, cnorm) start = time.time() ans = [] best = 1e9 for X in [-(10**6), 10**6]: for Y in [-(10**6), 10**6]: cur = scipy.optimize.fmin(f, [X, Y], disp=False, maxiter=1000, ftol=1e-8) if f(cur) < best: ans = cur best = f(cur) dx = (ax + bx + cx) / 3 dy = (ay + by + cy) / 3 while time.time() - start < 1.4: scale = random.randint(1, 6) X = random.randint(-(10**scale), 10**scale) + dx Y = random.randint(-(10**scale), 10**scale) + dy cur = scipy.optimize.fmin(f, [X, Y], disp=False, maxiter=1000, ftol=1e-8) if f(cur) < best: ans = cur best = f(cur) print(*ans)