QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#75988#5461. Paddle StarchenshiAC ✓178ms1884kbC++1.2kb2023-02-06 22:29:512023-02-06 22:29:52

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 22:29:52]
  • 评测
  • 测评结果:AC
  • 用时:178ms
  • 内存:1884kb
  • [2023-02-06 22:29:51]
  • 提交

answer

//https://cdn.luogu.com.cn/upload/image_hosting/bce60lzi.png
//https://cdn.luogu.com.cn/upload/image_hosting/30e80xrq.png
//https://cdn.luogu.com.cn/upload/image_hosting/kejvnuf4.png
#include<cstdio>
#include<cmath>
using namespace std;
const long double PI=acosl(-1);
int T;long double l1,l2,l3,Alpha,Beta,Gamma,t,ans;
inline long double calc(long double x,long double Alpha,long double Beta){
	return x*x*sinl(Alpha)*sinl(Beta)/sinl(PI-Alpha-Beta);
}
int main(){
	for(scanf("%d",&T);T--;printf("%.9Lf\n",ans)){
		scanf("%Lf%Lf%Lf%Lf",&l1,&l2,&Alpha,&Beta);Alpha=Alpha/180*PI;t=Beta=Beta/180*PI;
		if(l1<l2){
			Gamma=Alpha-asinl(l1*sinl(Alpha)/l2);
			if(PI-Beta<Gamma) Beta=PI-Gamma;
		}
		ans=(l1+l2)*(l1+l2)*Alpha+l2*l2*Beta;
		if(l1<l2&&PI-t<Gamma) Beta=t,t=l1*sinl(Alpha)/sinl(Alpha-(PI-Beta)),ans+=l2*t*sinl(Gamma-(PI-Beta));
		if(Beta>PI/2){
			if(l2>l1*cosl(PI-Beta)) l2=l1*cosl(PI-Beta),l3=l1*sinl(Beta);
			else l3=sqrtl(l1*l1+l2*l2-2*l1*l2*cosl(PI-Beta));
			Gamma=asinl(l2*sinl(Beta)/l3);
			if(Gamma<2*Alpha) ans+=l1*l2*sinl(Beta)-l3*l3*asinl(l2*sinl(Beta)/l3);
			else ans+=l1*l2*sinl(Beta)-l3*l3*2*Alpha-calc(l3,Gamma-2*Alpha,acosl((l2*l2+l3*l3-l1*l1)/(2*l2*l3)));
		}
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 1688kb

input:

5
2 1 20 20
3 3 0 0
20 20 90 120
20 10 50 170
100 10 1 93

output:

3.490658504
0.000000000
3367.157611907
1098.863278984
373.960489570

result:

ok 5 numbers

Test #2:

score: 0
Accepted
time: 127ms
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.991613203
13636.479265474
19433.170502613
61610.122595400
17006.233726987
15903.667036975
37972.639843450
13840.111902465
14968.804520318
9194.795925234
31073.492936657
16982.120743226
12675.930420195
36683.242951954
658.687259703
62718.197215759
65696.566692849
29465.974882400
23128.028950241
...

result:

ok 100000 numbers

Test #3:

score: 0
Accepted
time: 103ms
memory: 1592kb

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.000000000
0.017453293
0.034906585
0.052359878
0.069813170
0.087266463
0.104719755
0.122173048
0.139626340
0.157079633
0.174532925
0.191986218
0.209439510
0.226892803
0.244346095
0.261799388
0.279252680
0.296705973
0.314159265
0.331612558
0.349065850
0.366519143
0.383972435
0.401425728
0.418879020
...

result:

ok 100000 numbers

Test #4:

score: 0
Accepted
time: 94ms
memory: 1568kb

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.000000000
0.017453293
0.034906585
0.052359878
0.069813170
0.087266463
0.104719755
0.122173048
0.139626340
0.157079633
0.174532925
0.191986218
0.209439510
0.226892803
0.244346095
0.261799388
0.279252680
0.296705973
0.314159265
0.331612558
0.349065850
0.366519143
0.383972435
0.401425728
0.418879020
...

result:

ok 100000 numbers

Test #5:

score: 0
Accepted
time: 1ms
memory: 1560kb

input:

1
1 1 0 0

output:

0.000000000

result:

ok found '0.0000000', expected '0.0000000', error '-0.0000000'

Test #6:

score: 0
Accepted
time: 89ms
memory: 1632kb

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.323254219
22.410027596
25.173876620
2.827433388
27.087509991
47.012886070
4.572762640
17.101525659
80.168864241
12.915436465
57.648225193
12.864384636
14.102260356
5.969026042
19.818865672
13.736070861
67.387162420
18.233437657
38.170350741
22.549653936
64.925528909
26.927129107
48.639912449
5.271...

result:

ok 100000 numbers

Test #7:

score: 0
Accepted
time: 0ms
memory: 1740kb

input:

1
1 1 1 1

output:

0.087266463

result:

ok found '0.0872665', expected '0.0872665', error '0.0000000'

Test #8:

score: 0
Accepted
time: 131ms
memory: 1724kb

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.221684619
20453.899714221
11173.458244928
3345.010777910
27858.125443027
16389.723780363
11913.368920826
2998.196402246
56334.480958812
11128.116724082
27437.570679024
77419.259170280
13048.238567542
50858.632603727
44838.573134578
2464.369997231
26444.636092297
14434.015080375
7196.917530476
1...

result:

ok 100000 numbers

Test #9:

score: 0
Accepted
time: 121ms
memory: 1880kb

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.584913358
77.911497809
120.427718388
19.690923989
291.658182925
83.318489580
145.851363237
89.226195379
67.671999443
321.571228728
558.426573155
34.903934827
72.029738230
168.011900637
411.827515292
391.845507900
196.280472188
485.061905714
64.786621834
92.358469233
20.664698344
125.524079803
4.2...

result:

ok 100000 numbers

Test #10:

score: 0
Accepted
time: 107ms
memory: 1592kb

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.762009757
36.669367584
36.861353802
775.694132756
917.192986614
472.355908760
322.464590123
312.639212170
21.886428820
68.870692284
10.768681485
692.821232732
521.661460129
14.556045962
127.726396981
671.449407348
913.466888314
20.213846371
398.685561033
66.503682065
595.523794073
436.332312999
...

result:

ok 100000 numbers

Test #11:

score: 0
Accepted
time: 121ms
memory: 1756kb

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.848168842
23.282692222
62.343160881
275.674755353
258.992530854
187.418244337
343.731350761
158.929681687
891.558109336
425.573601551
65.047404024
703.955421939
59.009582010
107.152855427
115.790851182
593.411945678
1088.802599177
271.787210817
188.006867025
452.389342117
646.737699378
1052.3024...

result:

ok 100000 numbers

Test #12:

score: 0
Accepted
time: 122ms
memory: 1884kb

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.764986357
3.769911184
519.130732713
531.557476987
7.895855251
201.659447814
624.135520746
197.885993911
1035.713284718
252.339703253
297.248770790
1051.611431188
43.633231300
1.431169987
178.080101488
318.033896298
0.488692191
101.498343169
413.014714192
86.575516486
158.470635636
1053.061857483...

result:

ok 100000 numbers

Test #13:

score: 0
Accepted
time: 119ms
memory: 1592kb

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.617470648
509.228455427
2.251474735
2108.357736409
2531.274337012
599.834757325
215.600522499
270.926866137
635.711065502
129.606175914
2456.987219221
502.061412629
2584.665518016
815.152005833
17.034413499
559.133679169
211.681588457
1595.265842908
165.930795653
138.055543833
118.794133400
602....

result:

ok 100000 numbers

Test #14:

score: 0
Accepted
time: 120ms
memory: 1748kb

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.355439790
550.064867878
816.046145062
2120.575041173
2368.254715324
116.762526958
2110.323177930
1215.784171254
98.017690792
585.034365268
715.994457121
741.835073303
164.828894558
1464.155538987
783.297607029
1340.849197845
1499.375882008
697.852448117
1095.438451722
93.270395227
932.751591035
...

result:

ok 100000 numbers

Test #15:

score: 0
Accepted
time: 112ms
memory: 1744kb

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.497477298
2516.027606494
865.194616799
998.398145311
2682.832859703
1972.151629880
3638.749115893
1537.931776980
1382.218152880
14.689817209
614.867582302
2986.650744478
2348.165975633
828.891768357
220.728142887
1783.948886141
1349.166583183
1730.092527624
1851.724523196
224.201281432
1011.8411...

result:

ok 100000 numbers

Test #16:

score: 0
Accepted
time: 126ms
memory: 1572kb

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.922149155
83.828163973
4035.070122675
5401.584595412
2878.481412038
509.705954752
2207.415857831
843.465267611
3897.040967023
91.368440292
3445.681369165
592.661454100
3265.055309950
5957.681401683
3188.830921301
4354.967682394
219.088323702
173.381007893
576.322709524
600.600640033
1386.192851...

result:

ok 100000 numbers

Test #17:

score: 0
Accepted
time: 126ms
memory: 1560kb

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.612925243
241.910091287
6161.900464289
349.647106949
706.655863043
1953.103910454
1613.995982469
1741.698967150
2724.301882730
545.938990024
254.119939090
4449.874007592
2997.777523225
3534.158747180
2485.069602160
1864.221080640
8387.167443573
1565.595722802
2261.946710585
9856.427930311
9066....

result:

ok 100000 numbers

Test #18:

score: 0
Accepted
time: 134ms
memory: 1748kb

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.490135274
10439.809093852
2420.509873128
3314.851488435
2570.010106911
4812.919945300
13536.165609611
9417.110876737
18693.856547755
3286.734234186
15787.461796313
162.717444834
8548.794250962
8091.250708603
1231.610429358
3028.390598305
1068.316986196
1909.981962942
131.987563673
2312.650316487...

result:

ok 100000 numbers

Test #19:

score: 0
Accepted
time: 166ms
memory: 1588kb

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:

7823031139236863725.500000000
587759779770854607.250000000
95369829970997627.031250000
3895961013788279843.000000000
443752067877684930.781250000
1832058841745101878.375000000
1157411971581695296.125000000
25211463877824920.457031250
1585510323477645105.750000000
3564846423752922656.750000000
162832...

result:

ok 100000 numbers

Test #20:

score: 0
Accepted
time: 178ms
memory: 1848kb

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:

1298002666918420132.250000000
3375253522633562205.000000000
6039368287407980498.000000000
1313133658442171590.875000000
835838455087290181.625000000
715665701891950401.125000000
3352034067230078528.000000000
3413794084111542810.000000000
5750292420404998174.500000000
3039557717337095429.000000000
29...

result:

ok 100000 numbers