与样例仅差 0.001 啊
#include <bits/stdc++.h>
using namespace std;
const int N = 10005;
int a, n, q;
bool arr[N];
double ans, dp[2][N];
signed main() {
cin >> n >> a >> q;
getchar();
for (int i = 1; i <= n; i++) arr[i] = getchar() - '0';
dp[0][0] = 100;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
dp[i & 1][j] = (dp[(i - 1) & 1][j] * (arr[i] ? 100 - a : a) + dp[(i - 1) & 1][j - 1] * (arr[i] ? a : 100 - a)) / 100.0;
}
}
for (int i = q; i <= n; i++) ans += dp[n & 1][i];
printf("%.3f", ans / 100);
return 0;
}