拼多多基础平台笔试2018年7.22

1.复制可乐,有4个人排队从自动售货机买复制可乐,买完就复制自己(复制对复制品有效),比如A买一轮有2个A,买两轮有4个A。。。。问在可乐数目给定情况下,最后买到可乐的人的名字。买可乐的4个人:Alice,Bob,Cathy,David输入:N输出:名字分析:通过每次减去被买走的可乐之道获得最后一轮的可乐数目m,此时(m-1)/2^k)即为所求。代码如下:void FuZh...
摘要由CSDN通过智能技术生成

1.复制可乐,有4个人排队从自动售货机买复制可乐,买完就复制自己(复制对复制品有效),比如A买一轮有2个A,买两轮有4个A。。。。问在可乐数目给定情况下,最后买到可乐的人的名字。

买可乐的4个人:Alice,Bob,Cathy,David

输入:N

输出:名字

分析:通过每次减去被买走的可乐之道获得最后一轮的可乐数目m,此时(m-1)/2^k)即为所求。

代码如下:

void FuZhiCoclor()
{
    int N;
    char *name[] = { "Alice","Bob","Cathy","Daved" };
    cin >> N;
    int result = -1;
    if (N < 4)
    {
        result = (N-1) % 4;
    }
    else
    {
        int k = 1;
        int value = pow(2, k + 1);
        while (N - value>0)
        {
            N -= value;
            k++;
            value = pow(2, k + 1);
        }
        result = (N - 1) / pow(2, k-1);
    }
    cout << name[result];
}

2.球王评选

问题描述:

四年一度的世界杯又来了!小多在公司内发起了一个票选最强球星的活动。共有 N 个候选球星,每位投票者需要在选票上为每位候选球星评定一个实例等级,等级由英文字母表示,'a' 级最高,'z' 级最低,共26级。
我们称候选球星 X 强于候选球星 Y,当「 X 的评级比 Y 高」的票数高于「 Y 的评级比 X 高」的票数。若一个候选球星强于任一其他候选球星时,则称该球星为“球王”。根据这个规则,至多只会有一个球王。需要注意的是也可能没有球王。
现在给出所有 M 张选票,请你帮小多判断一下哪位候选球星是球王。
输入描述:
第一行包含2个整数 N、M,分别表示候选球星数量以及选票数量。
接下来有 M 行,每行是一个长度为 N 的字符串,每个字符串表示一张选票上的信息。每个字符串的第 k (0 <= k < N) 个字符,表示这张选票对第 k 个候选球星的评级。
数据范围:
1 <= N <= 50
1 <= M <= 50
字符串只包含小写英文字母(a-z)。
输出描述:
若有球王,则输出一行仅包含一个整数 X,表示编号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值