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

牛牛爱喝酒

int countWine(int m, int n) {
    int ans = 0;
    int wine = n / m;    //当前牛牛可以喝的酒
    int bottles = 0;    //当前空瓶子的数量
    int lid = 0;        //当前瓶盖的数量
    while (wine > 0) {
        ans += wine;     //加上本次可以喝的酒
        bottles += wine;    //瓶子增加
        lid += wine;        //瓶盖增加
        wine = bottles / 2 + lid / 4;    //计算下次可以喝的酒
        //瓶盖喝和瓶子更新   
        bottles %= 2;  
        lid %= 4;
    }
    return ans;
    }
};



牛牛的特殊子序列

int i,n;
int sum[1000005];
vector < int > a , c;
class Solution {
public:
    /**
     *
     * @param x string字符串
     * @return int整型
     */
    int Maximumlength(string x) {
       n=x.size();
        for(i=0;i<n;i++)
        {
            if(i!=0)sum[i]=sum[i-1];
            if(x[i]== 'a' )a.push_back(i);
            else if(x[i] =='c')c.push_back(i);
            else if(x[i] =='b' )sum[i]++;
        }
        reverse(c.begin(),c.end());
        int pos=0;
        for(i=0;i<a.size()&&i<c.size();i++)
        {
            if(c[i]<a[i])break;
            if(sum[c[i]]-sum[a[i]]<i+1)break;
            pos++;
        }
        return 3*pos;
    }
};



分贝壳游戏

class Solution {
public:
    /**
     *
     * @param n int整型
     * @param p int整型
     * @param q int整型
     * @return int整型
     */
    int Gameresults(int n, int p, int q) {
        // write code here
        int ans;
        if(p>q)ans=1;
        else if(q>p)
        {
            if(p>=n)ans=1;
            else ans=-1;
        }
        else
        {
            if(n%(p+1))ans=1;
            else ans=-1;
        }
        return ans;
    }
};


全部评论

相关推荐

不愿透露姓名的神秘牛友
10-30 10:32
美团 后端开发 23k 双非本,985硕
落樱的悔恨:恭喜你啊楼主,被我恭喜到了,说实话现在的年轻人啊,跟老一辈的比起来,其实啊真的很年轻,但是怎么说呢,老一辈吃过的盐,可能比你吃过的饭还咸,那么咱们再说啊,如果说上学或者上班不那么累,其实啊你也是很轻松的,所以啊当你吃过晚饭以后,其实这个晚上啊,你就已经吃过了饭,中国不是有这么一句话嘛,叫做有句古话说得好 情况就这么个情况,但具体什么情况呢,还要看情况。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
乐趣使然:21岁有问题吗?
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务