用户输出
15854.070337889219445
Special Judge 信息
OK Error:0.00000000000181898940
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#49314 | #1012. L. 注重风控,风火轮模型 | Accepted | 100 | 13 ms | 384 K | C++ 17 (Clang) / 1.2 K | ymz | 2021-06-20 7:57:10 |
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long int ulli;
#define F(i, n, m) for (int i = n; i <= m; i++)
inline int read() {
bool w = 0;
int s = 0;
char ch = 0;
while (!isdigit(ch)) w = ch == '-', ch = getchar();
while (isdigit(ch)) s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
return w ? -s : s;
}
inline void write(int x) {
if (x < 0)
putchar('-'), x = ~x + 1;
if (x > 9)
write(x / 10);
putchar((x % 10) | 48);
}
double p[105][2];
int r;
double dis(int a, int b) {
double a1, a2, b1, b2;
a1 = p[a][0];
a2 = p[a][1];
b1 = p[b][0];
b2 = p[b][1];
return sqrt((a1 - b1) * (a1 - b1) + (a2 - b2) * (a2 - b2));
}
double rec(int i) {
double ang, a1, a2, b1, b2;
a1 = p[i - 1][0] - p[i][0];
a2 = p[i - 1][1] - p[i][1];
b1 = p[i + 1][0] - p[i][0];
b2 = p[i + 1][1] - p[i][1];
ang = acos((a1 * b1 + a2 * b2) / dis(i - 1, i) / dis(i, i + 1));
return acos(dis(i - 1, i) / 2 / r) + acos(dis(i, i + 1) / 2 / r) - ang;
}
int main() {
int n = read();
double ans = 0;
r = read();
F(i, 1, n)
scanf("%lf %lf", &p[i][0], &p[i][1]);
p[n + 1][0] = p[1][0];
p[n + 1][1] = p[1][1];
F(i, 2, n)
ans += dis(1, i) * rec(i);
printf("%.15f", ans);
return 0;
}
用户输出
15854.070337889219445
Special Judge 信息
OK Error:0.00000000000181898940
系统信息
Exited with return code 0
15 21331
504.05781 3250.88951
1718.34697 1497.03649
3702.66308 378.64555
4424.20987 234.65996
4821.3
<235 bytes omitted>
用户输出
29335.847944699489744
Special Judge 信息
OK Error:0.00000000000727595761
系统信息
Exited with return code 0
15 35155
1903.22247 1332.58007
2542.13948 884.86186
4344.54468 244.96285
5745.72528 258.28156
7454.5
<234 bytes omitted>
用户输出
32799.814101841133379
Special Judge 信息
OK Error:0.00000000001455191523
系统信息
Exited with return code 0
100 21315
202.73110 4838.10150
207.03370 4740.24226
222.70360 4533.69633
233.73077 4431.95278
304.67
<2075 bytes omitted>
用户输出
29761.255045317957411
Special Judge 信息
OK Error:0.00000000011641532183
系统信息
Exited with return code 0