QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#421228 | #6829. It Takes Two of Two | kjhhjki | AC ✓ | 33ms | 132340kb | C++20 | 1.8kb | 2024-05-25 15:42:13 | 2024-05-25 15:42:13 |
Judging History
answer
#include <bits/stdc++.h>
#define For(i, a, b) for(i32 i = (a), endi = (b); i <= endi; ++i)
#define foR(i, a, b) for(i32 i = (a), endi = (b); i >= endi; --i)
using namespace std;
template<typename T, typename U>
void chkmin(T &a, U b) { if(a > b) a = b; }
using i32 = int;
using i64 = long long;
using f64 = long double;
int mp[128];
void init()
{
For(i, '0', '9') mp[i] = i - '0';
For(i, 'a', 'z') mp[i] = i - 'a' + 10;
}
void solve()
{
i32 n;
cin >> n;
vector dp(n+1, vector(n+1, vector<f64>(n+1, 0))); // 孤点 单链 长链
dp[n][0][0] = 0;
i32 tmp = n * n;
auto dfs = [&](auto &&self, i32 a, i32 b, i32 c) -> f64
{
if (!c && a + b < 2) return 0;
if(dp[a][b][c] > 1e-6) return dp[a][b][c];
f64 s1 = a * (a - 1), s2 = a * b * 4, s3 = a * c * 4,
s4 = b * 2 * (b * 2 - 2), s5 = b * c * 8, s6 = c * 2, s7 = c * 2 * (c * 2 - 2);
f64 res = (s1 + s2 + s3 + s4 + s5 + s6 + s7) / tmp;
if (a > 1) dp[a][b][c] += self(self, a - 2, b + 1, c) * s1 /tmp;
if (a && b) dp[a][b][c] += self(self, a - 1, b - 1, c + 1) * s2 / tmp;
if (a && c) dp[a][b][c] += self(self, a - 1, b, c) * s3 / tmp;
if (b > 1) dp[a][b][c] += self(self, a, b - 2, c + 1) * s4 / tmp;
if (c && b) dp[a][b][c] += self(self, a, b - 1, c) * s5 / tmp;
if (c) dp[a][b][c] += self(self, a, b, c - 1) * s6 / tmp;
if (c > 1) dp[a][b][c] += self(self, a, b, c - 1) * s7 / tmp;
dp[a][b][c] = (dp[a][b][c] + 1) / res;
return dp[a][b][c];
};
cout << std::format("{:.9f}\n", dfs(dfs, n, 0, 0));
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
init();
i32 T = 1;
// cin >> T;
while(T--) solve();
return 0;
}
这程序好像有点Bug,我给组数据试试?
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3808kb
input:
1
output:
0.000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
2
output:
2.000000000
result:
ok found '2.0000000', expected '2.0000000', error '0.0000000'
Test #3:
score: 0
Accepted
time: 0ms
memory: 4140kb
input:
3
output:
8.250000000
result:
ok found '8.2500000', expected '8.2500000', error '0.0000000'
Test #4:
score: 0
Accepted
time: 0ms
memory: 4144kb
input:
4
output:
11.333333333
result:
ok found '11.3333333', expected '11.3333333', error '0.0000000'
Test #5:
score: 0
Accepted
time: 1ms
memory: 4012kb
input:
5
output:
17.048611111
result:
ok found '17.0486111', expected '17.0486111', error '0.0000000'
Test #6:
score: 0
Accepted
time: 1ms
memory: 4140kb
input:
6
output:
26.034065934
result:
ok found '26.0340659', expected '26.0340659', error '0.0000000'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
7
output:
35.497562603
result:
ok found '35.4975626', expected '35.4975626', error '0.0000000'
Test #8:
score: 0
Accepted
time: 0ms
memory: 4144kb
input:
8
output:
46.229305311
result:
ok found '46.2293053', expected '46.2293053', error '0.0000000'
Test #9:
score: 0
Accepted
time: 0ms
memory: 4092kb
input:
9
output:
58.614396353
result:
ok found '58.6143964', expected '58.6143964', error '0.0000000'
Test #10:
score: 0
Accepted
time: 0ms
memory: 4096kb
input:
10
output:
72.437768422
result:
ok found '72.4377684', expected '72.4377684', error '0.0000000'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3996kb
input:
11
output:
87.678796659
result:
ok found '87.6787967', expected '87.6787967', error '0.0000000'
Test #12:
score: 0
Accepted
time: 0ms
memory: 4232kb
input:
12
output:
104.361318979
result:
ok found '104.3613190', expected '104.3613190', error '0.0000000'
Test #13:
score: 0
Accepted
time: 0ms
memory: 4052kb
input:
13
output:
122.481859321
result:
ok found '122.4818593', expected '122.4818593', error '0.0000000'
Test #14:
score: 0
Accepted
time: 0ms
memory: 4024kb
input:
14
output:
142.036524364
result:
ok found '142.0365244', expected '142.0365244', error '0.0000000'
Test #15:
score: 0
Accepted
time: 0ms
memory: 4080kb
input:
15
output:
163.023991778
result:
ok found '163.0239918', expected '163.0239918', error '0.0000000'
Test #16:
score: 0
Accepted
time: 0ms
memory: 4044kb
input:
16
output:
185.442941965
result:
ok found '185.4429420', expected '185.4429420', error '0.0000000'
Test #17:
score: 0
Accepted
time: 0ms
memory: 4176kb
input:
17
output:
209.292064566
result:
ok found '209.2920646', expected '209.2920646', error '0.0000000'
Test #18:
score: 0
Accepted
time: 0ms
memory: 4268kb
input:
18
output:
234.570195336
result:
ok found '234.5701953', expected '234.5701953', error '0.0000000'
Test #19:
score: 0
Accepted
time: 0ms
memory: 4348kb
input:
19
output:
261.276282114
result:
ok found '261.2762821', expected '261.2762821', error '0.0000000'
Test #20:
score: 0
Accepted
time: 0ms
memory: 4236kb
input:
20
output:
289.409362215
result:
ok found '289.4093622', expected '289.4093622', error '0.0000000'
Test #21:
score: 0
Accepted
time: 0ms
memory: 4176kb
input:
21
output:
318.968551414
result:
ok found '318.9685514', expected '318.9685514', error '0.0000000'
Test #22:
score: 0
Accepted
time: 1ms
memory: 4312kb
input:
22
output:
349.953034120
result:
ok found '349.9530341', expected '349.9530341', error '0.0000000'
Test #23:
score: 0
Accepted
time: 0ms
memory: 4264kb
input:
23
output:
382.362054919
result:
ok found '382.3620549', expected '382.3620549', error '0.0000000'
Test #24:
score: 0
Accepted
time: 1ms
memory: 4288kb
input:
24
output:
416.194911539
result:
ok found '416.1949115', expected '416.1949115', error '0.0000000'
Test #25:
score: 0
Accepted
time: 1ms
memory: 4108kb
input:
25
output:
451.450948920
result:
ok found '451.4509489', expected '451.4509489', error '0.0000000'
Test #26:
score: 0
Accepted
time: 1ms
memory: 4208kb
input:
26
output:
488.129554163
result:
ok found '488.1295542', expected '488.1295542', error '0.0000000'
Test #27:
score: 0
Accepted
time: 1ms
memory: 4280kb
input:
27
output:
526.230152195
result:
ok found '526.2301522', expected '526.2301522', error '0.0000000'
Test #28:
score: 0
Accepted
time: 1ms
memory: 4224kb
input:
28
output:
565.752202037
result:
ok found '565.7522020', expected '565.7522020', error '0.0000000'
Test #29:
score: 0
Accepted
time: 1ms
memory: 4424kb
input:
29
output:
606.695193565
result:
ok found '606.6951936', expected '606.6951936', error '0.0000000'
Test #30:
score: 0
Accepted
time: 1ms
memory: 4360kb
input:
30
output:
649.058644678
result:
ok found '649.0586447', expected '649.0586447', error '0.0000000'
Test #31:
score: 0
Accepted
time: 1ms
memory: 4328kb
input:
31
output:
692.842098824
result:
ok found '692.8420988', expected '692.8420988', error '0.0000000'
Test #32:
score: 0
Accepted
time: 1ms
memory: 4244kb
input:
32
output:
738.045122815
result:
ok found '738.0451228', expected '738.0451228', error '0.0000000'
Test #33:
score: 0
Accepted
time: 1ms
memory: 4452kb
input:
33
output:
784.667304896
result:
ok found '784.6673049', expected '784.6673049', error '0.0000000'
Test #34:
score: 0
Accepted
time: 1ms
memory: 4156kb
input:
34
output:
832.708253027
result:
ok found '832.7082530', expected '832.7082530', error '0.0000000'
Test #35:
score: 0
Accepted
time: 1ms
memory: 4264kb
input:
35
output:
882.167593357
result:
ok found '882.1675934', expected '882.1675934', error '0.0000000'
Test #36:
score: 0
Accepted
time: 1ms
memory: 4276kb
input:
36
output:
933.044968851
result:
ok found '933.0449689', expected '933.0449689', error '0.0000000'
Test #37:
score: 0
Accepted
time: 1ms
memory: 4280kb
input:
37
output:
985.340038061
result:
ok found '985.3400381', expected '985.3400381', error '0.0000000'
Test #38:
score: 0
Accepted
time: 1ms
memory: 4420kb
input:
38
output:
1039.052474022
result:
ok found '1039.0524740', expected '1039.0524740', error '0.0000000'
Test #39:
score: 0
Accepted
time: 1ms
memory: 4328kb
input:
39
output:
1094.181963247
result:
ok found '1094.1819632', expected '1094.1819632', error '0.0000000'
Test #40:
score: 0
Accepted
time: 0ms
memory: 4828kb
input:
40
output:
1150.728204822
result:
ok found '1150.7282048', expected '1150.7282048', error '0.0000000'
Test #41:
score: 0
Accepted
time: 1ms
memory: 4488kb
input:
41
output:
1208.690909582
result:
ok found '1208.6909096', expected '1208.6909096', error '0.0000000'
Test #42:
score: 0
Accepted
time: 1ms
memory: 4544kb
input:
42
output:
1268.069799361
result:
ok found '1268.0697994', expected '1268.0697994', error '0.0000000'
Test #43:
score: 0
Accepted
time: 0ms
memory: 5208kb
input:
43
output:
1328.864606309
result:
ok found '1328.8646063', expected '1328.8646063', error '0.0000000'
Test #44:
score: 0
Accepted
time: 1ms
memory: 4744kb
input:
44
output:
1391.075072261
result:
ok found '1391.0750723', expected '1391.0750723', error '0.0000000'
Test #45:
score: 0
Accepted
time: 1ms
memory: 5356kb
input:
45
output:
1454.700948167
result:
ok found '1454.7009482', expected '1454.7009482', error '0.0000000'
Test #46:
score: 0
Accepted
time: 1ms
memory: 4936kb
input:
46
output:
1519.741993558
result:
ok found '1519.7419936', expected '1519.7419936', error '0.0000000'
Test #47:
score: 0
Accepted
time: 1ms
memory: 4960kb
input:
47
output:
1586.197976068
result:
ok found '1586.1979761', expected '1586.1979761', error '0.0000000'
Test #48:
score: 0
Accepted
time: 1ms
memory: 5712kb
input:
48
output:
1654.068670977
result:
ok found '1654.0686710', expected '1654.0686710', error '0.0000000'
Test #49:
score: 0
Accepted
time: 0ms
memory: 5936kb
input:
49
output:
1723.353860801
result:
ok found '1723.3538608', expected '1723.3538608', error '0.0000000'
Test #50:
score: 0
Accepted
time: 1ms
memory: 5892kb
input:
50
output:
1794.053334906
result:
ok found '1794.0533349', expected '1794.0533349', error '0.0000000'
Test #51:
score: 0
Accepted
time: 1ms
memory: 6136kb
input:
51
output:
1866.166889156
result:
ok found '1866.1668892', expected '1866.1668892', error '0.0000000'
Test #52:
score: 0
Accepted
time: 1ms
memory: 6320kb
input:
52
output:
1939.694325576
result:
ok found '1939.6943256', expected '1939.6943256', error '0.0000000'
Test #53:
score: 0
Accepted
time: 11ms
memory: 62064kb
input:
153
output:
16628.002670534
result:
ok found '16628.0026705', expected '16628.0026705', error '0.0000000'
Test #54:
score: 0
Accepted
time: 15ms
memory: 63076kb
input:
154
output:
16845.200458596
result:
ok found '16845.2004586', expected '16845.2004586', error '0.0000000'
Test #55:
score: 0
Accepted
time: 15ms
memory: 64104kb
input:
155
output:
17063.803707669
result:
ok found '17063.8037077', expected '17063.8037077', error '0.0000000'
Test #56:
score: 0
Accepted
time: 18ms
memory: 65332kb
input:
156
output:
17283.812380397
result:
ok found '17283.8123804', expected '17283.8123804', error '0.0000000'
Test #57:
score: 0
Accepted
time: 7ms
memory: 66560kb
input:
157
output:
17505.226439773
result:
ok found '17505.2264398', expected '17505.2264398', error '0.0000000'
Test #58:
score: 0
Accepted
time: 21ms
memory: 67660kb
input:
158
output:
17728.045849134
result:
ok found '17728.0458491', expected '17728.0458491', error '0.0000000'
Test #59:
score: 0
Accepted
time: 11ms
memory: 69008kb
input:
159
output:
17952.270572155
result:
ok found '17952.2705722', expected '17952.2705722', error '0.0000000'
Test #60:
score: 0
Accepted
time: 13ms
memory: 70288kb
input:
160
output:
18177.900572840
result:
ok found '18177.9005728', expected '18177.9005728', error '0.0000000'
Test #61:
score: 0
Accepted
time: 15ms
memory: 71480kb
input:
161
output:
18404.935815524
result:
ok found '18404.9358155', expected '18404.9358155', error '0.0000000'
Test #62:
score: 0
Accepted
time: 12ms
memory: 72652kb
input:
162
output:
18633.376264862
result:
ok found '18633.3762649', expected '18633.3762649', error '0.0000000'
Test #63:
score: 0
Accepted
time: 14ms
memory: 73808kb
input:
163
output:
18863.221885825
result:
ok found '18863.2218858', expected '18863.2218858', error '0.0000000'
Test #64:
score: 0
Accepted
time: 14ms
memory: 75304kb
input:
164
output:
19094.472643699
result:
ok found '19094.4726437', expected '19094.4726437', error '0.0000000'
Test #65:
score: 0
Accepted
time: 23ms
memory: 76416kb
input:
165
output:
19327.128504074
result:
ok found '19327.1285041', expected '19327.1285041', error '0.0000000'
Test #66:
score: 0
Accepted
time: 23ms
memory: 77812kb
input:
166
output:
19561.189432846
result:
ok found '19561.1894328', expected '19561.1894328', error '0.0000000'
Test #67:
score: 0
Accepted
time: 19ms
memory: 79064kb
input:
167
output:
19796.655396208
result:
ok found '19796.6553962', expected '19796.6553962', error '0.0000000'
Test #68:
score: 0
Accepted
time: 18ms
memory: 80508kb
input:
168
output:
20033.526360645
result:
ok found '20033.5263606', expected '20033.5263606', error '0.0000000'
Test #69:
score: 0
Accepted
time: 18ms
memory: 81768kb
input:
169
output:
20271.802292934
result:
ok found '20271.8022929', expected '20271.8022929', error '0.0000000'
Test #70:
score: 0
Accepted
time: 15ms
memory: 83244kb
input:
170
output:
20511.483160136
result:
ok found '20511.4831601', expected '20511.4831601', error '0.0000000'
Test #71:
score: 0
Accepted
time: 16ms
memory: 84504kb
input:
171
output:
20752.568929592
result:
ok found '20752.5689296', expected '20752.5689296', error '0.0000000'
Test #72:
score: 0
Accepted
time: 16ms
memory: 85956kb
input:
172
output:
20995.059568922
result:
ok found '20995.0595689', expected '20995.0595689', error '0.0000000'
Test #73:
score: 0
Accepted
time: 16ms
memory: 87632kb
input:
173
output:
21238.955046016
result:
ok found '21238.9550460', expected '21238.9550460', error '0.0000000'
Test #74:
score: 0
Accepted
time: 20ms
memory: 88840kb
input:
174
output:
21484.255329036
result:
ok found '21484.2553290', expected '21484.2553290', error '0.0000000'
Test #75:
score: 0
Accepted
time: 15ms
memory: 90524kb
input:
175
output:
21730.960386406
result:
ok found '21730.9603864', expected '21730.9603864', error '0.0000000'
Test #76:
score: 0
Accepted
time: 33ms
memory: 91696kb
input:
176
output:
21979.070186813
result:
ok found '21979.0701868', expected '21979.0701868', error '0.0000000'
Test #77:
score: 0
Accepted
time: 27ms
memory: 93204kb
input:
177
output:
22228.584699202
result:
ok found '22228.5846992', expected '22228.5846992', error '0.0000000'
Test #78:
score: 0
Accepted
time: 20ms
memory: 94944kb
input:
178
output:
22479.503892770
result:
ok found '22479.5038928', expected '22479.5038928', error '0.0000000'
Test #79:
score: 0
Accepted
time: 20ms
memory: 96328kb
input:
179
output:
22731.827736967
result:
ok found '22731.8277370', expected '22731.8277370', error '0.0000000'
Test #80:
score: 0
Accepted
time: 20ms
memory: 97760kb
input:
180
output:
22985.556201488
result:
ok found '22985.5562015', expected '22985.5562015', error '0.0000000'
Test #81:
score: 0
Accepted
time: 19ms
memory: 99384kb
input:
181
output:
23240.689256271
result:
ok found '23240.6892563', expected '23240.6892563', error '0.0000000'
Test #82:
score: 0
Accepted
time: 30ms
memory: 100908kb
input:
182
output:
23497.226871496
result:
ok found '23497.2268715', expected '23497.2268715', error '0.0000000'
Test #83:
score: 0
Accepted
time: 16ms
memory: 102600kb
input:
183
output:
23755.169017578
result:
ok found '23755.1690176', expected '23755.1690176', error '0.0000000'
Test #84:
score: 0
Accepted
time: 24ms
memory: 104180kb
input:
184
output:
24014.515665167
result:
ok found '24014.5156652', expected '24014.5156652', error '0.0000000'
Test #85:
score: 0
Accepted
time: 20ms
memory: 106124kb
input:
185
output:
24275.266785144
result:
ok found '24275.2667851', expected '24275.2667851', error '0.0000000'
Test #86:
score: 0
Accepted
time: 23ms
memory: 107548kb
input:
186
output:
24537.422348614
result:
ok found '24537.4223486', expected '24537.4223486', error '0.0000000'
Test #87:
score: 0
Accepted
time: 23ms
memory: 109032kb
input:
187
output:
24800.982326910
result:
ok found '24800.9823269', expected '24800.9823269', error '0.0000000'
Test #88:
score: 0
Accepted
time: 24ms
memory: 110720kb
input:
188
output:
25065.946691586
result:
ok found '25065.9466916', expected '25065.9466916', error '0.0000000'
Test #89:
score: 0
Accepted
time: 31ms
memory: 112468kb
input:
189
output:
25332.315414411
result:
ok found '25332.3154144', expected '25332.3154144', error '0.0000000'
Test #90:
score: 0
Accepted
time: 21ms
memory: 114284kb
input:
190
output:
25600.088467374
result:
ok found '25600.0884674', expected '25600.0884674', error '0.0000000'
Test #91:
score: 0
Accepted
time: 19ms
memory: 115892kb
input:
191
output:
25869.265822673
result:
ok found '25869.2658227', expected '25869.2658227', error '0.0000000'
Test #92:
score: 0
Accepted
time: 32ms
memory: 117696kb
input:
192
output:
26139.847452719
result:
ok found '26139.8474527', expected '26139.8474527', error '0.0000000'
Test #93:
score: 0
Accepted
time: 23ms
memory: 119468kb
input:
193
output:
26411.833330128
result:
ok found '26411.8333301', expected '26411.8333301', error '0.0000000'
Test #94:
score: 0
Accepted
time: 27ms
memory: 121440kb
input:
194
output:
26685.223427722
result:
ok found '26685.2234277', expected '26685.2234277', error '0.0000000'
Test #95:
score: 0
Accepted
time: 32ms
memory: 123172kb
input:
195
output:
26960.017718523
result:
ok found '26960.0177185', expected '26960.0177185', error '0.0000000'
Test #96:
score: 0
Accepted
time: 20ms
memory: 124936kb
input:
196
output:
27236.216175754
result:
ok found '27236.2161758', expected '27236.2161758', error '0.0000000'
Test #97:
score: 0
Accepted
time: 20ms
memory: 126736kb
input:
197
output:
27513.818772836
result:
ok found '27513.8187728', expected '27513.8187728', error '0.0000000'
Test #98:
score: 0
Accepted
time: 27ms
memory: 128572kb
input:
198
output:
27792.825483381
result:
ok found '27792.8254834', expected '27792.8254834', error '0.0000000'
Test #99:
score: 0
Accepted
time: 21ms
memory: 130552kb
input:
199
output:
28073.236281196
result:
ok found '28073.2362812', expected '28073.2362812', error '0.0000000'
Test #100:
score: 0
Accepted
time: 24ms
memory: 132340kb
input:
200
output:
28355.051140275
result:
ok found '28355.0511403', expected '28355.0511403', error '0.0000000'