結果
| 問題 |
No.5009 Draw A Convex Polygon
|
| コンテスト | |
| ユーザー |
trineutron
|
| 提出日時 | 2022-12-02 00:43:13 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 2,386 ms / 2,600 ms |
| コード長 | 725 bytes |
| コンパイル時間 | 71 ms |
| 実行使用メモリ | 40,660 KB |
| スコア | 1,000,000 |
| 平均クエリ数 | 1000001.00 |
| 最終ジャッジ日時 | 2022-12-02 00:43:20 |
| 合計ジャッジ時間 | 5,501 ms |
|
ジャッジサーバーID (参考情報) |
judge13 / judge12 |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
from math import gcd
def make():
s = 0
v = []
for i in range(3, 100000):
for j in range(i // 2 + 1):
if gcd(i, j) == 1:
s += i
v.append((i - j, j))
if len(v) == 125000:
return s, v
return s, v
s, v = make()
v.sort(key=lambda t: t[1] / t[0])
print(1000000)
x = s
y = 0
for d in range(8):
dir_x = [-1, -1, 1, 1][d // 2]
dir_y = [1, -1, -1, 1][d // 2]
swap = d % 4 // 2 == d % 2
dv = v if not d % 2 == 1 else v[::-1]
for dx, dy in dv:
print(x, y)
if swap:
x += dir_x * dy
y += dir_y * dx
else:
x += dir_x * dx
y += dir_y * dy
trineutron