牛客巅峰赛S2第三场初级场题解

A-牛牛打怪 https://ac.nowcoder.com/acm/contest/9246/A
先对数组从小到大排序,再遍历数组,当天数ans>=DEF[i]时,++i;每循环一次天数都要+1;

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n int整型 
     * @param DEF int整型vector 
     * @return int整型
     */
    int Minimumdays(int n, vector<int>& DEF) {
        // write code here
        sort(DEF.begin(), DEF.end());
        int ans = 0;
        int i = 0;
        while (i < n)
        {
            if (ans >= DEF[i])
            {
                ++i;
            }
            ans++;
        }

        return ans - 1;
    }
};

B-简单的公式 https://ac.nowcoder.com/acm/contest/9246/B
快速幂,网上有很多板子和教程

class Solution {
public:
    /**
     * 返回c[n]%1000000007的值
     * @param n long长整型 即题目中的n
     * @return int整型
     */
    int Answerforcn(long long n) {
        // write code here
        const int mod = 1000000007;
        long long ans = 14;
        long long x = 15;
        n = n - 1;
        while (n > 0)
        {
            if ((n & 1) == 1)
            {
                ans *= x;
                ans %= mod;
            }
            x = (x * x) % mod;
            n = (n >> 1);
        }
        return (int)ans;
    }
};
#牛客编程巅峰赛##C/C++##题解#
全部评论
点赞 回复 分享
发布于 2020-11-25 10:53
C题有吗
点赞 回复 分享
发布于 2020-11-25 14:31
快速幂可以的
点赞 回复 分享
发布于 2020-11-25 14:37
点赞 回复 分享
发布于 2020-11-25 16:45

相关推荐

7 5 评论
分享
牛客网
牛客企业服务