QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#602089 | #7032. Keiichi Tsuchiya the Drift King | ucup-team5071# | AC ✓ | 20ms | 4188kb | C++20 | 535b | 2024-09-30 19:13:43 | 2024-09-30 19:13:43 |
Judging History
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,我给组数据试试?
詳細信息
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