ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#213358 | #2053. 地雷爆炸 | STASISZHY | 90 | 16ms | 1684kb | C++11 | 1.2kb | 2024-11-11 19:54:30 | 2024-11-11 23:10:33 |
answer
// Problem: A. 地雷爆炸
// Contest: undefined - NOIP2024训练赛 02
// URL: http://119.28.3.174/contest/1154/problem/2053
// Memory Limit: 1024 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
//#define int long long
#define fi first
#define se second
#define PII pair<int, int>
using namespace std;
const int N = 1e5 + 10, M = 1e6 + 10, mod = 1e9 + 7, INF = 0x3f3f3f3f;
const double eps = 5e-5;
int n, m, q, ans;
double s[N], dp[305][306];
void dfs(int id, int now, int nd, double f, int sum)
{
if(f < eps) return;
if(now > nd)
{
if(sum <= 300) dp[id][sum] += f;
return;
}
for(int i = 0; i < n; i ++) dfs(id, now + 1, nd, f * s[i], sum + i - 1);
}
signed main()
{
// ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
// cin >> n >> m;
scanf("%d %d", &n, &m);
for(int i = 0; i < n; i ++) scanf("%lf", &s[i]);
// for(int i = 0; i < n; i ++) cout << s[i] << ' ';
dp[0][1] = 1.0;
for(int i = 1; i <= m; i ++)
{
dp[i][0] = dp[i - 1][0];
for(int j = 1; j <= 300; j ++) dfs(i, 1, j, dp[i - 1][j], j);
// cout << dp[i][0] << '\n';
}
printf("%.4lf", dp[m][0]);
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1296kb
input:
300 20 0.00379430 0.00378180 0.00857190 0.00919620 0.00396670 0.00176760 0.00511380 0.00793840 0.005...
output:
0.0038
result:
ok single line: '0.0038'
Test #2:
score: 10
Accepted
time: 3ms
memory: 1416kb
input:
300 69 0.03642550 0.00870610 0.00174390 0.00728740 0.00917590 0.00276320 0.00788090 0.00688300 0.000...
output:
0.0367
result:
ok single line: '0.0367'
Test #3:
score: 10
Accepted
time: 1ms
memory: 1256kb
input:
300 1 0.02275200 0.00255280 0.00714900 0.00673530 0.00625580 0.00952860 0.00503680 0.00361520 0.0085...
output:
0.0228
result:
ok single line: '0.0228'
Test #4:
score: 0
Wrong Answer
time: 3ms
memory: 1332kb
input:
300 34 0.01174930 0.00237960 0.00725200 0.00622610 0.00092020 0.00915390 0.00050940 0.00135760 0.006...
output:
0.0117
result:
wrong answer 1st lines differ - expected: '0.0118', found: '0.0117'
Test #5:
score: 10
Accepted
time: 3ms
memory: 1684kb
input:
300 180 0.03276550 0.00945640 0.00095320 0.00353310 0.00647080 0.00637530 0.00059110 0.00265000 0.00...
output:
0.0331
result:
ok single line: '0.0331'
Test #6:
score: 10
Accepted
time: 3ms
memory: 1440kb
input:
300 78 0.07426740 0.00030970 0.00922200 0.00879440 0.00434000 0.00690410 0.00787240 0.00838550 0.005...
output:
0.0743
result:
ok single line: '0.0743'
Test #7:
score: 10
Accepted
time: 3ms
memory: 1300kb
input:
300 21 0.03122890 0.00933980 0.00300750 0.00424390 0.00213370 0.00940520 0.00636220 0.00227220 0.007...
output:
0.0315
result:
ok single line: '0.0315'
Test #8:
score: 10
Accepted
time: 0ms
memory: 1264kb
input:
6 4 0.64261410 0.35418080 0.00144510 0.00171790 0.00002830 0.00001380
output:
0.9831
result:
ok single line: '0.9831'
Test #9:
score: 10
Accepted
time: 0ms
memory: 1252kb
input:
6 1 0.23944990 0.51892380 0.07985400 0.07066520 0.03907530 0.05203180
output:
0.2394
result:
ok single line: '0.2394'
Test #10:
score: 10
Accepted
time: 0ms
memory: 1260kb
input:
6 3 1 0 0 0 0 0
output:
1.0000
result:
ok single line: '1.0000'