結果

問題 No.2352 Sharpened Knife in Fall
ユーザー 👑 KA37RIKA37RI
提出日時 2023-06-16 23:21:17
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 2,124 ms / 3,000 ms
コード長 632 bytes
コンパイル時間 154 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 16,296 KB
最終ジャッジ日時 2024-06-24 16:34:30
合計ジャッジ時間 32,067 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 32 ms
10,880 KB
testcase_01 AC 32 ms
11,008 KB
testcase_02 AC 30 ms
11,136 KB
testcase_03 AC 29 ms
10,880 KB
testcase_04 AC 2,113 ms
16,168 KB
testcase_05 AC 30 ms
10,880 KB
testcase_06 AC 2,124 ms
16,148 KB
testcase_07 AC 1,059 ms
13,716 KB
testcase_08 AC 2,112 ms
16,164 KB
testcase_09 AC 2,095 ms
16,164 KB
testcase_10 AC 2,110 ms
16,296 KB
testcase_11 AC 2,096 ms
16,036 KB
testcase_12 AC 2,090 ms
16,172 KB
testcase_13 AC 2,107 ms
16,164 KB
testcase_14 AC 1,009 ms
13,664 KB
testcase_15 AC 1,969 ms
15,936 KB
testcase_16 AC 136 ms
11,264 KB
testcase_17 AC 76 ms
11,008 KB
testcase_18 AC 774 ms
12,652 KB
testcase_19 AC 1,663 ms
16,060 KB
testcase_20 AC 669 ms
12,416 KB
testcase_21 AC 637 ms
12,544 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import math
def area(x):
	return x * math.sqrt(1 - x ** 2) + math.asin(x)
	
def arealine(a):
	l = 0.0
	r = 1.0
	for _ in range(100):
		m = (l + r) / 2
		if area(m) > a:
			r = m
		else:
			l = m
	return l
	
R, N = [int(x) for x in input().split()]
hc = math.pi
ans = []
if N % 2 == 0:
	tmp = [(i + 0.5) / (N + 1) * hc for i in range(N // 2)]
	tmp = [arealine(x) for x in tmp]
	ans.extend(reversed([-t for t in tmp]))
	ans.extend(tmp)
else:
	tmp = [i / (N + 1) * hc for i in range(1, (N + 1) // 2)]
	tmp = [arealine(x) for x in tmp]
	ans.extend(reversed([-t for t in tmp]))
	ans.append(0)
	ans.extend(tmp)
[print(x * R) for x in ans]
0