QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#602089#7032. Keiichi Tsuchiya the Drift Kingucup-team5071#AC ✓20ms4188kbC++20535b2024-09-30 19:13:432024-09-30 19:13:43

Judging History

你现在查看的是最新测评结果

  • [2024-09-30 19:13:43]
  • 评测
  • 测评结果:AC
  • 用时:20ms
  • 内存:4188kb
  • [2024-09-30 19:13:43]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
typedef long double lf;
const lf Pi=acos(-1);
lf read(){
    int x;cin>>x;
    return (lf)x;
}
lf solve(){
    lf a=read(),b=read(),r=read(),d=read();
    d=d/180*Pi;
    lf x1=sqrtl(r*r+a*a+b*b-2*r*sqrtl(a*a+b*b)*cos(atan(a/b)+Pi/2));
    lf x2=(r+a)/cos(d)+(b-(r+a)*tan(d))*sin(d);
    if(d<Pi/2&&b-(r+a)*tan(d)>0)return min(x1,x2)-r;
    return x1-r;
}
signed main(){
    int T;
    cin>>T;
    while(T--)cout<<fixed<<setprecision(15)<<solve()<<"\n";
    return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 4188kb

input:

4
1 2 2 120
1 2 2 60
1 2 2 30
1 2 2 15

output:

1.605551275463989
1.605551275463989
1.598076211353316
1.415415569072246

result:

ok 4 numbers

Test #2:

score: 0
Accepted
time: 20ms
memory: 4112kb

input:

10000
17 35 10 70
56 65 64 74
54 58 75 31
56 9 87 44
33 60 39 8
39 52 4 94
63 99 76 134
15 91 16 149
21 85 94 71
98 9 34 116
8 6 13 134
18 68 26 85
21 20 61 117
73 18 49 64
41 25 66 32
19 72 94 110
80 38 92 152
62 46 67 157
38 72 79 139
75 18 9 124
73 23 96 150
1 26 49 114
36 76 66 38
80 34 23 88
69...

output:

34.204072210600688
72.473440639561804
66.439032802122906
56.282936876656740
40.649687006996989
63.475921631349356
94.651692051382834
80.135321292436527
49.003496460750913
98.306462427199677
8.840329667841555
54.993826925266346
23.403791384036771
74.320720075743962
43.881754627417557
39.9888055025493...

result:

ok 10000 numbers

Test #3:

score: 0
Accepted
time: 8ms
memory: 4104kb

input:

10000
99 1 1 99
99 1 1 98
98 1 1 98
97 1 1 98
97 1 1 97
97 1 1 96
96 1 1 96
92 1 1 99
93 1 1 97
95 1 1 94
94 1 1 94
90 1 1 97
93 1 1 93
89 1 1 96
98 1 1 86
99 1 1 84
84 1 1 98
89 1 1 92
95 1 1 85
81 1 1 98
92 1 1 86
95 1 1 82
84 1 1 92
89 1 1 86
95 1 1 79
79 1 1 94
87 1 1 85
90 1 1 81
77 1 1 93
94 1...

output:

99.004999875006250
99.004999875006250
98.005050376230808
97.005101908012932
97.005101908012932
97.005101908012932
96.005154502222200
92.005376188691372
93.005318998448168
95.005208192055914
94.005263012108966
90.005494339627649
93.005318998448168
89.005555384098375
98.005050376230808
99.004999875006...

result:

ok 10000 numbers

Test #4:

score: 0
Accepted
time: 14ms
memory: 4140kb

input:

10000
1 99 88 1
1 99 89 1
1 97 88 1
1 97 89 1
1 95 88 1
1 95 89 1
1 93 88 1
1 93 89 1
1 91 88 1
1 91 89 1
1 89 88 1
1 89 89 1
1 87 88 1
1 87 89 1
1 85 88 1
1 85 89 1
1 83 88 1
1 83 89 1
1 81 88 1
1 81 89 1
1 79 88 1
1 79 89 1
1 77 88 1
1 77 89 1
1 75 88 1
1 75 89 1
1 73 88 1
1 73 89 1
1 71 88 1
1 71...

output:

2.714233106209888
2.714080801366279
2.679328293335321
2.679175988491712
2.644423480460754
2.644271175617145
2.609518667586187
2.609366362742578
2.574613854711620
2.574461549868011
2.539709041837053
2.539556736993444
2.504804228962486
2.504651924118877
2.469899416087919
2.469747111244310
2.4349946032...

result:

ok 10000 numbers