80pts WA #3 #4 玄关求调
查看原帖
80pts WA #3 #4 玄关求调
1030559
tzzl3035楼主2025/2/2 00:32

rt

#include <bits/stdc++.h>
using ld = long double;
int main() {
  std::ios::sync_with_stdio(0);
  std::cin.tie(nullptr);
  int n, q, a;
  std::cin >> n >> a >> q;
  if(n > 50) { 
    std::cout << "1.000"; return 0; }
  ld dp[53][53];
  memset(dp, 0, sizeof(dp));
  dp[0][0] = 1;
  std::string s; std::cin >> s;
  s   =    '_'  +  s;

  for(int i = 1; i <= n; ++i) {
    for(int j = 0; j <= i; ++j) {
      if(s[i] == '0') { 
        dp[i][j] = dp[i-1][j-1]*((100-a)/100.0) + dp[i-1][j]*(a/100.0); }
      else { dp[i][j] = dp[i-1][j]*((100-a)/100.0) + dp[i-1][j-1]*(a/100.0); }
    }
  }
  ld ans = 0;
  for(int i = q; i <= n; ++i) { 
    ans += dp[n][i]; }
  std::cout << std::fixed << std::setprecision(3) << ans;

}
2025/2/2 00:32
加载中...