C++ | Leetcode C++题解之第458题可怜的小猪

题目:

题解:

cpp 复制代码
class Solution {
public:
    int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
        if (buckets == 1) {
            return 0;
        }
        vector<vector<int>> combinations(buckets + 1,vector<int>(buckets + 1));
        combinations[0][0] = 1;
        int iterations = minutesToTest / minutesToDie;
        vector<vector<int>> f(buckets,vector<int>(iterations + 1));
        for (int i = 0; i < buckets; i++) {
            f[i][0] = 1;
        }
        for (int j = 0; j <= iterations; j++) {
            f[0][j] = 1;
        }
        for (int i = 1; i < buckets; i++) {
            combinations[i][0] = 1;
            combinations[i][i] = 1;
            for (int j = 1; j < i; j++) {
                combinations[i][j] = combinations[i - 1][j - 1] + combinations[i - 1][j];
            }
            for (int j = 1; j <= iterations; j++) {
                for (int k = 0; k <= i; k++) {
                    f[i][j] += f[k][j - 1] * combinations[i][i - k];
                }
            }
            if (f[i][iterations] >= buckets) {
                return i;
            }
        }
        return 0;
    }
};
相关推荐
simple_whu23 分钟前
Visual Studio C/C++编译器cl.exe的/source-charset与/execution-charset设置项
c语言·c++·visual studio
GOATLong33 分钟前
网络基础概念
linux·运维·服务器·网络·arm开发·c++
工藤新一¹1 小时前
C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 14)
开发语言·c++·游戏引擎·游戏开发·sdl·实践项目
<但凡.2 小时前
C++修炼:list模拟实现
开发语言·数据结构·c++
byte轻骑兵2 小时前
【C++类和数据抽象】复制构造函数
开发语言·c++
孞㐑¥2 小时前
C++之异常
开发语言·c++·经验分享·笔记
CoderCodingNo3 小时前
【GESP】C++三级练习 luogu-B2114 配对碱基链
开发语言·c++
敲代码的瓦龙3 小时前
C++?动态内存管理!!!
c语言·开发语言·数据结构·c++·后端
虾球xz3 小时前
游戏引擎学习第248天:清理数据块显示
c++·学习·游戏引擎
Ronin3053 小时前
【C++】13.list的模拟实现
开发语言·数据结构·c++·list