Collecting Bugs 题解

Collecting Bugs

https://ac.nowcoder.com/acm/problem/106693

根据上课听的雨巨的思路,移项运算一下然后写代码
图片说明

#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
const int N = 1010;
double dp[N][N];
int main() 
{
    int n, s;
    while (~scanf("%d%d", &n, &s)) {
        memset(dp, 0, sizeof(dp));
        for (int i = n; i >= 0; --i) {
            for (int j = s; j >= 0; --j) {
                if (i == n && j == s) continue;
                dp[i][j] = 1.0 * (n - i) / n * j / s * dp[i + 1][j] + 1.0 * i / n * (s - j) / s * dp[i][j + 1] + 1.0 * (n - i) / n * (s - j) / s * dp[i + 1][j + 1] + 1.0;
                dp[i][j] *= 1.0 * n * s / (n * s - i * j);
            }
        }
        printf("%.4f\n", dp[0][0]);
    }
}
全部评论

相关推荐

兄弟们你们进大厂靠的是什么项目啊
DOTPHTP:课设改。其实项目什么的如果不是实习里面的生产项目的话,建议✍️那种自己想要做的。突出个人自驱力,而不是为了找工作不得不随波逐流这种
点赞 评论 收藏
分享
05-25 10:45
门头沟学院 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务