QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#75969#5461. Paddle StarpechpoAC ✓178ms1880kbC++201.1kb2023-02-06 21:05:052023-02-06 21:05:07

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-02-06 21:05:07]
  • 评测
  • 测评结果:AC
  • 用时:178ms
  • 内存:1880kb
  • [2023-02-06 21:05:05]
  • 提交

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