拼多多19年提前批笔试

1.买可乐

#include
#include
using namespace std;
int main()
{
    string strs[]={"Alice","Bob","Cathy","Dave"};
    int n=0;
    cin>>n;

    int i=1;
    while(n>i*4)
    {
        n-=i*4;
        i<<=1;
    }
    int a=n/i;
    if(n%i)
    {
        a++;
    }
    cout<

2.选球王

#include
#include
using namespace std;
int main()
{
    vector str;
    string str1;
    int n,m;//n是候选球星m是选票数量
    
    int king=0;
    int flag=0;
    cin>>n>>m;
    for(int i=0;i>str1;
        str.push_back(str1);
    }
    vectormax;
    for(int i=0;istr[i][j])
                num2++;
        }
        if(num1

3.运输货物

#include
#include
#include
#include
using namespace std;
int main()
{
   vectorweight;
   int num;
   int len=0;
   int cnt=0;
   while(cin>>num)
   {
       weight.push_back(num);
       len++;
       
       if(cin.get()=='\n')
        break;
   }
   sort(weight.begin(),weight.end());
   int i=0;
   int j=len-1;
   while(i<=j)
   {
       if(weight[i]+weight[j]>300)
       {
           j--;
           cnt++;
       }
       else if(weight[i]+weight[j]>200)
       {
           i++;
           j--;
           cnt++;
       }
       else
       {
           cnt+=(j-i)/3+1;
       }
        
   }
    cout<

4.电话号码

#include
#include
#include
using namespace std;
int main()
{
    int m=0,k=0;
    cin>>m>>k;
    vectorvi;
    vectorvnum(10,0);

    string s;
    getline(cin,s);
    s.clear();
    cin>>s;

    for(int i=0;i>cl(10,vector(10,0));
    vectormCost(10,0);
    for(int i=0;i<10;i++)
    {
        int num=k-vnum[i];
        if(num<=0)
        {
            cl[i][i]=0;
            break;
        }
        int flag=-1;
        while(num>0)
        {
            if(i+flag>=0)
            {
                num=num-vnum[i+flag];
                if(num<=0)
                {
                    mCost[i]+=abs(flag)*(num+vnum[i+flag]);
                    cl[i][i+flag]=num+vnum[i+flag];
                    break;
                }
                mCost[i]+=abs(flag)*vnum[i+flag];
                cl[i][i+flag]=vnum[i+flag];
            }
            flag=-(flag+1);
        }
    }

    int minCost=mCost[0],mini=0;
    for(int i=1;i<10;i++)
    {
        if(minCost>mCost[i])
        {
            minCost=mCost[i];
            mini=i;
        }
    }

    for(int i=0;i

 

你可能感兴趣的:(笔试)