第十五届蓝桥杯JavaB组省赛题解

第十五届蓝桥杯JavaB组省赛题解

蓝桥杯2024年第十五届省赛真题-分布式队列 - C语言网 (dotcpp.com)

阅读理解+模拟

#include 
#include 
using namespace std;

int main() {
int n;
cin >> n;
vector list[n];
string cz;
int element, follower_id;
while (cin >> cz) {
    if (cz == "add") {
        cin >> element;
        list[0].push_back(element);
    } else if (cz == "sync") {
        cin >> follower_id;
        if (list[0].size() != list[follower_id].size()) {
            list[follower_id].push_back(list[0][list[follower_id].size()]);
        }
    } else if (cz == "query") {
        int min_size = list[0].size();
        for (int i = 1; i < n; i++) {
            min_size = min(min_size, (int)list[i].size());
        }
        cout << min_size << endl;
    }
}

return 0;
}

蓝桥杯2024年第十五届省赛真题-食堂 - C语言网 (dotcpp.com)

分类讨论+贪心

因为有3人寝室,而桌子有4和6人桌,如果让3人寝室上4人桌的话这样就会空出一个位置,而其他4人2人寝室都可以凑满。

所以我们这只要讨论3人寝室,能先放6人桌就先放6人桌。剩下的2人寝和4人寝室,先放满6人桌,再放4人桌。(不过这个分类讨论情况真的太多了,写了2小时都没写出来脑子晕了就不贴代码了)

蓝桥杯2024年第十五届省赛真题-最优分组 - C语言网 (dotcpp.com)

思路很简单,我们只要枚举每个组有多少宠物就行了。

假设每个组有 x x x个宠物。一开始让一个组内所有宠物共同使用一个试剂,也就是需要 n / x n/x n/x个试剂

再假设每个组里患病的宠物是 x ∗ p x*p xp,而总的患病数量是 n ∗ x ∗ p n*x*p

你可能感兴趣的:(蓝桥杯,职场和发展)