QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#75969 | #5461. Paddle Star | pechpo | AC ✓ | 178ms | 1880kb | C++20 | 1.1kb | 2023-02-06 21:05:05 | 2023-02-06 21:05:07 |
Judging History
answer
#include <cmath>
#include <cstdio>
using namespace std;
const long double PI=3.14159265358979323846;
int T;
int l1, l2, a, b;
long double a_, b_;
long double sqr(long double x){ return x*x; }
long double S(long double alpha, long double r){
return alpha*r*r;
}
long double tran(long double alpha){ return PI*alpha/180; }
long double S1, S2, S3, S4;
long double l3, l4, c;
int main(){
scanf("%d", &T);
while (T--){
scanf("%d%d%d%d", &l1, &l2, &a, &b);
a_=tran(a); b_=tran(b);
S1=S(a_, l1+l2);
S2=S(b_, l2);
if (b<=90){
printf("%.15Lf\n", S1+S2);
continue;
}
long double b1=PI-b_;
l3=sqrtl(sqr(l1)+sqr(l2)-2.0L*l1*l2*cosl(b1));
if (sqr(l3)+sqr(l2)-sqr(l1)>=0){ //用高代替l3
l3=l1*sinl(b1);
c=b_-PI/2;
} else c=asinl(l2/l3*sinl(b1));
S3=l1*l3*sinl(c)-S(c, l3);
if (c>2*a_){ //要减一块
l4=l3*sinl(b1+c)/sinl(2*a_+b1);
S4=l3*l4*sin(c-2*a_)-S(c-2*a_,l3);
} else S4=0;
printf("%.15Lf\n", S1+S2+S3-S4);
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 1580kb
input:
5 2 1 20 20 3 3 0 0 20 20 90 120 20 10 50 170 100 10 1 93
output:
3.490658503988659 0.000000000000000 3367.157611906510728 1098.863278984081835 373.960489570087709
result:
ok 5 numbers
Test #2:
score: 0
Accepted
time: 138ms
memory: 1580kb
input:
100000 88 12 24 116 79 15 84 150 96 52 31 141 100 100 81 29 83 29 71 99 95 92 5 87 99 97 39 72 79 72 20 65 67 39 60 116 100 89 1 62 78 77 63 45 62 34 83 178 92 49 24 103 94 73 66 49 20 14 24 51 100 97 66 109 94 94 86 82 82 79 49 67 76 38 88 118 92 79 58 112 93 23 40 167 87 34 13 25 96 18 73 15 94 38...
output:
4526.991613202875377 13636.479265474324529 19433.170502612669816 61610.122595399831656 17006.233726987325849 15903.667036975089747 37972.639843450068710 13840.111902464634139 14968.804520318270448 9194.795925234086548 31073.492936656643709 16982.120743226402286 12675.930420194696629 36683.2429519542...
result:
ok 100000 numbers
Test #3:
score: 0
Accepted
time: 104ms
memory: 1880kb
input:
100000 1 1 0 0 1 1 0 1 1 1 0 2 1 1 0 3 1 1 0 4 1 1 0 5 1 1 0 6 1 1 0 7 1 1 0 8 1 1 0 9 1 1 0 10 1 1 0 11 1 1 0 12 1 1 0 13 1 1 0 14 1 1 0 15 1 1 0 16 1 1 0 17 1 1 0 18 1 1 0 19 1 1 0 20 1 1 0 21 1 1 0 22 1 1 0 23 1 1 0 24 1 1 0 25 1 1 0 26 1 1 0 27 1 1 0 28 1 1 0 29 1 1 0 30 1 1 0 31 1 1 0 32 1 1 0 ...
output:
0.000000000000000 0.017453292519943 0.034906585039887 0.052359877559830 0.069813170079773 0.087266462599716 0.104719755119660 0.122173047639603 0.139626340159546 0.157079632679490 0.174532925199433 0.191986217719376 0.209439510239320 0.226892802759263 0.244346095279206 0.261799387799149 0.2792526803...
result:
ok 100000 numbers
Test #4:
score: 0
Accepted
time: 97ms
memory: 1540kb
input:
100000 1 1 0 0 1 1 0 1 1 1 0 2 1 1 0 3 1 1 0 4 1 1 0 5 1 1 0 6 1 1 0 7 1 1 0 8 1 1 0 9 1 1 0 10 1 1 0 11 1 1 0 12 1 1 0 13 1 1 0 14 1 1 0 15 1 1 0 16 1 1 0 17 1 1 0 18 1 1 0 19 1 1 0 20 1 1 0 21 1 1 0 22 1 1 0 23 1 1 0 24 1 1 0 25 1 1 0 26 1 1 0 27 1 1 0 28 1 1 0 29 1 1 0 30 1 1 0 31 1 1 0 32 1 1 0 ...
output:
0.000000000000000 0.017453292519943 0.034906585039887 0.052359877559830 0.069813170079773 0.087266462599716 0.104719755119660 0.122173047639603 0.139626340159546 0.157079632679490 0.174532925199433 0.191986217719376 0.209439510239320 0.226892802759263 0.244346095279206 0.261799387799149 0.2792526803...
result:
ok 100000 numbers
Test #5:
score: 0
Accepted
time: 0ms
memory: 1544kb
input:
1 1 1 0 0
output:
0.000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #6:
score: 0
Accepted
time: 109ms
memory: 1596kb
input:
100000 2 1 24 89 3 1 76 68 2 2 52 144 3 3 4 2 2 2 86 44 3 2 87 123 3 2 2 53 3 1 50 172 3 3 86 156 2 2 46 1 3 3 74 71 2 2 20 104 2 2 29 86 3 3 2 30 2 2 26 178 3 2 14 108 3 3 90 69 3 2 13 175 3 3 52 35 2 2 73 31 3 3 77 105 3 1 86 143 3 3 50 109 3 1 13 94 3 2 41 139 2 2 51 154 2 1 57 40 3 3 27 112 2 2 ...
output:
5.323254218582705 22.410027595607191 25.173876620134231 2.827433388230814 27.087509990951994 47.012886069756909 4.572762640225143 17.101525659348558 80.168864241397913 12.915436464758038 57.648225193372704 12.864384636389128 14.102260356114182 5.969026041820607 19.818865672108211 13.736070861025445 ...
result:
ok 100000 numbers
Test #7:
score: 0
Accepted
time: 0ms
memory: 1552kb
input:
1 1 1 1 1
output:
0.087266462599716
result:
ok found '0.0872665', expected '0.0872665', error '0.0000000'
Test #8:
score: 0
Accepted
time: 127ms
memory: 1576kb
input:
100000 71 6 33 34 98 20 79 171 88 16 59 8 45 21 36 79 88 61 44 149 55 47 72 86 81 8 85 122 68 2 35 71 98 91 79 49 73 19 68 148 69 66 81 22 99 94 87 130 65 53 43 53 97 89 84 1 93 88 77 6 83 46 2 51 83 69 46 95 91 55 17 137 93 84 1 54 61 45 74 15 77 65 0 21 84 71 6 32 87 81 37 76 91 55 32 154 73 34 76...
output:
3436.221684618955880 20453.899714220958714 11173.458244927537970 3345.010777909732220 27858.125443027412626 16389.723780362990572 11913.368920826426504 2998.196402245939004 56334.480958811531970 11128.116724082295413 27437.570679024496645 77419.259170279996113 13048.238567542286898 50858.63260372696...
result:
ok 100000 numbers
Test #9:
score: 0
Accepted
time: 129ms
memory: 1540kb
input:
100000 10 1 40 160 6 6 27 16 10 10 7 41 4 1 38 161 7 6 66 143 6 4 26 127 8 4 47 99 4 4 49 121 5 2 68 122 8 8 27 178 10 8 73 125 6 2 20 175 10 1 34 13 7 4 66 102 10 10 14 179 9 7 64 120 7 5 47 169 10 8 68 90 8 2 37 3 5 5 10 164 4 2 26 62 7 5 43 40 1 1 35 103 10 7 71 102 6 1 90 63 6 4 49 44 6 3 84 123...
output:
87.584913357908210 77.911497809026869 120.427718387608736 19.690923988660575 291.658182925004407 83.318489580253326 145.851363237234560 89.226195379333796 67.671999442581239 321.571228728411725 558.426573154582130 34.903934826530368 72.029738229805979 168.011900637172865 411.827515292430510 391.8455...
result:
ok 100000 numbers
Test #10:
score: 0
Accepted
time: 141ms
memory: 1584kb
input:
100000 8 8 89 18 10 1 17 44 6 1 43 5 11 10 84 74 11 11 64 172 10 7 85 51 7 6 71 176 9 7 51 99 5 3 12 54 6 5 26 32 3 2 21 23 10 10 59 151 9 9 81 45 7 4 2 37 11 6 3 172 11 10 65 98 11 10 78 173 7 2 9 104 10 9 46 77 8 3 24 100 11 9 77 41 10 10 55 30 11 6 37 75 9 7 25 56 10 9 14 7 9 9 12 179 11 9 6 130 ...
output:
417.762009757362711 36.669367584400863 36.861353802120239 775.694132756359807 917.192986614324760 472.355908759745338 322.464590122768171 312.639212169688974 21.886428820008892 68.870692283696242 10.768681484805013 692.821232732176282 521.661460128585147 14.556045961632708 127.726396981380747 671.44...
result:
ok 100000 numbers
Test #11:
score: 0
Accepted
time: 123ms
memory: 1576kb
input:
100000 7 3 55 160 4 3 14 72 9 7 4 52 9 9 31 71 12 1 87 116 9 7 10 154 12 10 20 100 6 5 61 69 12 12 55 130 12 11 7 163 4 3 43 178 11 11 42 155 12 1 20 1 5 3 72 151 7 2 74 136 10 10 66 76 11 11 84 176 8 6 59 110 12 2 54 47 12 12 38 28 12 12 38 105 12 12 60 173 12 4 48 76 2 1 71 31 3 1 21 123 12 7 83 2...
output:
123.848168841706806 23.282692221604356 62.343160881237450 275.674755352504346 258.992530853761494 187.418244337319616 343.731350761198826 158.929681686603645 891.558109336301425 425.573601551489472 65.047404023752431 703.955421939028527 59.009582009928281 107.152855427087017 115.790851181557624 593....
result:
ok 100000 numbers
Test #12:
score: 0
Accepted
time: 123ms
memory: 1572kb
input:
100000 12 8 12 17 7 1 3 24 13 13 40 16 9 9 77 68 11 1 2 137 8 5 43 153 11 10 60 93 9 4 54 124 13 11 90 62 13 11 23 10 9 5 65 152 13 10 81 159 9 5 0 100 2 1 8 10 13 4 29 108 11 9 33 62 1 1 7 0 7 6 9 117 10 7 79 17 6 3 44 136 9 1 89 169 12 12 90 59 11 11 67 48 8 2 50 165 12 3 36 39 11 2 46 157 12 7 57...
output:
102.764986357426121 3.769911184307752 519.130732713193369 531.557476987392995 7.895855251232726 201.659447813743496 624.135520745836368 197.885993911459322 1035.713284718475017 252.339703253340160 297.248770789876213 1051.611431187916692 43.633231299858238 1.431169986635350 178.080101488159507 318.0...
result:
ok 100000 numbers
Test #13:
score: 0
Accepted
time: 131ms
memory: 1576kb
input:
100000 16 6 41 45 19 4 51 119 1 1 20 49 20 20 68 30 20 20 56 133 16 6 69 27 13 12 17 12 11 6 33 146 12 9 51 156 7 7 6 125 20 17 76 123 20 13 14 80 20 20 50 160 10 9 89 177 13 4 0 61 18 4 65 36 10 5 34 167 17 15 73 74 18 1 26 107 17 8 6 65 10 5 14 130 19 6 51 73 11 1 75 177 14 3 76 96 8 3 31 9 7 5 13...
output:
374.617470648062886 509.228455427212330 2.251474735072685 2108.357736409150047 2531.274337012177766 599.834757325411166 215.600522498859524 270.926866137202688 635.711065501702763 129.606175914049840 2456.987219221099650 502.061412628688826 2584.665518016392433 815.152005832541110 17.034413499464656...
result:
ok 100000 numbers
Test #14:
score: 0
Accepted
time: 138ms
memory: 1572kb
input:
100000 21 19 6 6 17 6 48 147 16 10 56 89 18 18 89 19 19 18 79 85 15 7 12 18 20 18 57 117 17 16 36 117 9 6 12 81 20 19 4 76 19 18 7 97 21 2 79 160 21 19 5 4 21 19 25 119 14 10 54 129 21 17 49 21 21 13 48 179 14 14 31 80 18 17 51 1 8 4 37 1 13 9 90 118 14 14 47 64 16 11 3 74 20 15 30 42 19 19 38 133 1...
output:
205.355439789652810 550.064867878033724 816.046145062468705 2120.575041173110353 2368.254715323625654 116.762526958420644 2110.323177930085150 1215.784171253939001 98.017690792001545 585.034365268499251 715.994457120843031 741.835073303215444 164.828894558344479 1464.155538987371121 783.297607028993...
result:
ok 100000 numbers
Test #15:
score: 0
Accepted
time: 134ms
memory: 1548kb
input:
100000 14 12 55 44 19 19 55 175 18 18 25 53 18 12 61 16 22 19 85 30 21 17 53 122 22 22 80 110 20 17 46 87 19 11 64 165 5 1 20 110 19 6 46 176 22 22 45 164 22 18 77 35 22 4 69 53 17 2 34 93 22 17 33 179 16 12 79 106 17 17 64 87 22 16 60 76 12 4 43 109 18 10 51 174 11 8 60 26 19 17 5 46 14 12 75 101 2...
output:
759.497477297852429 2516.027606494228431 865.194616798629024 998.398145310836252 2682.832859703083604 1972.151629880214088 3638.749115892897821 1537.931776979843333 1382.218152879955215 14.689817208968932 614.867582302067693 2986.650744477979439 2348.165975633170921 828.891768357146970 220.728142886...
result:
ok 100000 numbers
Test #16:
score: 0
Accepted
time: 122ms
memory: 1724kb
input:
100000 22 20 49 129 22 1 9 42 29 27 41 134 29 29 72 80 27 16 71 123 28 7 21 71 25 13 70 133 28 11 27 60 29 28 68 3 23 5 1 168 27 22 79 16 29 10 17 81 27 15 90 119 29 28 86 79 22 21 69 122 27 27 49 139 16 8 11 97 16 11 4 58 12 11 32 128 18 8 35 146 29 22 27 19 30 15 50 115 15 2 24 72 18 6 80 158 13 6...
output:
2446.922149155350201 83.828163973287646 4035.070122674869642 5401.584595412210510 2878.481412038129714 509.705954752423990 2207.415857830733852 843.465267611299622 3897.040967023018700 91.368440291688867 3445.681369164765146 592.661454099714471 3265.055309950067409 5957.681401682643778 3188.83092130...
result:
ok 100000 numbers
Test #17:
score: 0
Accepted
time: 128ms
memory: 1556kb
input:
100000 39 35 57 118 18 2 33 138 37 28 62 114 40 2 11 130 11 9 78 113 23 17 47 122 29 7 65 143 36 27 11 77 24 19 77 38 34 30 5 12 12 2 74 14 38 31 37 82 36 34 15 85 39 27 17 161 37 15 46 80 40 14 33 54 37 30 88 95 40 22 9 111 36 36 12 52 40 40 48 151 40 39 41 163 21 16 42 73 18 2 64 146 40 37 84 152 ...
output:
8021.612925242912726 241.910091287405714 6161.900464289472616 349.647106948921355 706.655863042590771 1953.103910453777228 1613.995982469010743 1741.698967150181304 2724.301882730468874 545.938990023826270 254.119939090374376 4449.874007592222572 2997.777523225460364 3534.158747180425011 2485.069602...
result:
ok 100000 numbers
Test #18:
score: 0
Accepted
time: 120ms
memory: 1752kb
input:
100000 9 8 74 2 47 41 64 61 42 1 75 10 33 29 33 75 43 1 76 103 48 12 73 90 50 50 35 160 50 48 13 179 49 46 77 169 30 18 74 55 44 43 77 164 15 2 31 91 49 43 31 120 49 36 39 131 43 8 23 142 33 31 25 74 25 6 58 129 28 20 31 95 8 7 1 148 37 10 52 156 11 5 54 52 49 26 33 2 20 17 13 33 38 23 89 34 50 7 60...
output:
375.490135274060051 10439.809093851721560 2420.509873128335879 3314.851488435270206 2570.010106911052709 4812.919945299563053 13536.165609610958440 9417.110876737314688 18693.856547754670515 3286.734234185641558 15787.461796313238988 162.717444833826442 8548.794250962401772 8091.250708603430514 1231...
result:
ok 100000 numbers
Test #19:
score: 0
Accepted
time: 178ms
memory: 1752kb
input:
100000 985040437 963837006 74 178 562320397 456498961 21 57 616458849 43215539 12 112 967049313 962181597 55 20 404875500 323494205 16 148 822013814 350801410 65 117 493753261 325808227 72 151 883524417 55981080 1 165 756475575 306464991 75 65 982861539 971158777 53 2 977914232 494619050 34 80 92912...
output:
7823031139236863420.000000000000000 587759779770854584.312500000000000 95369829970997623.390625000000000 3895961013788279691.000000000000000 443752067877684914.625000000000000 1832058841745101812.000000000000000 1157411971581695252.250000000000000 25211463877824919.474609375000000 158551032347764504...
result:
ok 100000 numbers
Test #20:
score: 0
Accepted
time: 151ms
memory: 1580kb
input:
100000 915624482 436335283 31 93 966989692 899762255 14 172 971565321 859650888 86 78 840892426 595383046 16 116 992919354 525701445 9 98 924698821 417910701 18 49 923077550 641792877 68 62 918753914 850646822 29 137 935549247 897719522 87 46 937380829 805246200 55 11 434960395 174040501 0 56 902102...
output:
1298002666918420081.625000000000000 3375253522633562073.750000000000000 6039368287407980263.000000000000000 1313133658442171545.500000000000000 835838455087290150.187500000000000 715665701891950373.250000000000000 3352034067230078397.500000000000000 3413794084111542687.500000000000000 57502924204049...
result:
ok 100000 numbers