编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#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;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:5 ms
内存:384 KiB

输入文件(1.in

3 35941
583.04714 3121.03022
1806.86186 1416.16563
4984.18545 200.02605

答案文件(1.ans

15854.07033788921762607060

用户输出

15854.070337889219445

Special Judge 信息

OK Error:0.00000000000181898940

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:2 ms
内存:348 KiB

输入文件(2.in

15 21331
504.05781 3250.88951
1718.34697 1497.03649
3702.66308 378.64555
4424.20987 234.65996
4821.3
<235 bytes omitted>

答案文件(2.ans

29335.84794469948246842250

用户输出

29335.847944699489744

Special Judge 信息

OK Error:0.00000000000727595761

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:2 ms
内存:248 KiB

输入文件(3.in

15 35155
1903.22247 1332.58007
2542.13948 884.86186
4344.54468 244.96285
5745.72528 258.28156
7454.5
<234 bytes omitted>

答案文件(3.ans

32799.81410184111882699654

用户输出

32799.814101841133379

Special Judge 信息

OK Error:0.00000000001455191523

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:2 ms
内存:248 KiB

输入文件(4.in

100 21315
202.73110 4838.10150
207.03370 4740.24226
222.70360 4533.69633
233.73077 4431.95278
304.67
<2075 bytes omitted>

答案文件(4.ans

29761.25504531784099526703

用户输出

29761.255045317957411

Special Judge 信息

OK Error:0.00000000011641532183

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:2 ms
内存:248 KiB

输入文件(5.in

100 34201
202.23054 4853.68467
206.74735 4745.58106
289.91929 4075.26238
488.79146 3360.18368
513.94
<2079 bytes omitted>

答案文件(5.ans

32998.22863424615934491158

用户输出

32998.228634246217553

Special Judge 信息

OK Error:0.00000000005820766091

系统信息

Exited with return code 0