牛客编程巅峰赛S2赛季(初级场第1场)考题参考代码

A-热心的牛牛

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回牛牛能吃到的最多糖果数
     * @param n long长整型 
     * @param k long长整型 
     * @return long长整型
     */
    long long Maximumcandies(long long n, long long k) {
        // write code here
        return (k - n) / (n + 1);
    }
};

思路 : 假设牛牛得到的糖果为 个,那么为了满足牛牛的心意,牛牛任何一个的朋友至少要获得 个糖果,一共有 个朋友,共有 个糖果,则可以得出 ,只要求出满足这个式子的最大 就可以了。

C-Tree Ⅱ

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param k int整型 表示完全k叉树的叉数k
     * @param a int整型vector 表示这棵完全k叉树的Bfs遍历序列的结点编号
     * @return long长整型
     */
    long long tree2(int k, vector<int>& a) {
        // write code here
        queue<int> q;
        q.push(a[0]);
        int j = 1;
        int n = a.size();
        long long ans = 0;
        while (!q.empty()) {
            int i = q.front();
            int m = 0;
            q.pop();
            while (j < n && m < k) {
                ans += (i ^ a[j]);
                q.push(a[j]);
                j++;
                m++; 
            }
        }

        return ans;
    }
};
全部评论

相关推荐

1 1 评论
分享
牛客网
牛客企业服务