<京东面试>洗咖啡问题

咖啡杯问题:
 *第一个数组表示咖啡机冲咖啡的时间 a=[3,2,7]
 *第二个参数表示有多少个人去排队喝咖啡 10
 *第三个参数洗咖啡杯的时间
 *第四个参数不洗也能变干净的时间
 *问从人群开始泡咖啡开始,直到最后一个杯子变干净至少需要多少时间


#include<iostream>
#include<vector>
using namespace std;
 * 咖啡杯问题:
 *第一个数组表示咖啡机冲咖啡的时间 a=[3,2,7]
 *第二个参数表示有多少个人去排队喝咖啡 10
 *第三个参数洗咖啡杯的时间
 *第四个参数不洗也能变干净的时间
 *问从人群开始泡咖啡开始,直到最后一个杯子变干净至少需要多少时间
 *
int TimeLine=0;
struct Element{
    int FinishTime;   //结束时间,记录洗完后空闲的时间
    int MachineNumber;//机器编号,记录所使用的机器是哪一台
};
vector<Element> SmallRootPile;
void insert(int MachineNumber,vector<int> Timecost){
    Element newTime=Element{TimeLine+Timecost[MachineNumber],MachineNumber};
    auto i=SmallRootPile.begin();
    for(;i!=SmallRootPile.end();i++){
        if(i->FinishTime>newTime.FinishTime){
            SmallRootPile.insert(i,newTime);
            break;
        }
    }
    if(i==SmallRootPile.end()){
        SmallRootPile.push_back(newTime);
    }
}
int WashTime(vector<int>finishTime,int a,int b,int index,int washLine){
    if(index==finishTime.size()-1){
        return min(max(finishTime[index],washLine)+a,finishTime[index]+b);
    }
    int wash=max(washLine,finishTime[index])+a;
    int next1=WashTime(finishTime,a,b,index+1,washLine);
    int p1=max(wash,next1);
    int dry=finishTime[index]+b;
    int next2=WashTime(finishTime,a,b,index+1,washLine);
    int p2=max(dry,next2);
    return max(p1,p2);
}
int lineup(int PersonNum,vector<int>MachineTime,int a,int b){
    vector<int> finishTime;
    for(int i=0;i<MachineTime.size();i++){
        if(PersonNum==0) break;
        insert(i,MachineTime);
        PersonNum--;
    }
    while(!SmallRootPile.empty()){
        Element tmp=SmallRootPile[0];
        SmallRootPile.erase(SmallRootPile.begin());
        TimeLine=tmp.FinishTime;
        finishTime.push_back(TimeLine);
        if(PersonNum>0){
            int FreeMachine=tmp.MachineNumber;
            insert(FreeMachine,MachineTime);
            PersonNum--;
        }
    }
    return WashTime(finishTime,a,b,0,TimeLine);
}

int main(){
    vector<int>array;
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        int tmp=0;
        cin>>tmp;
        array.push_back(tmp);
    }
    cin>>n;
    int a,b;
    cin>>a>>b;
    cout<<lineup(n,array,a,b)<<endl;;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
修改以下代码实现四列在同一排上<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>底部设计</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> footer { background-color: #f5f5f5; padding: 50px 0;} footer h4 { font-size: 18px; font-weight: bold;} footer p { font-size: 14px; line-height: 1.5;} footer ul { list-style: none; padding: 0; margin: 0;} footer ul li { margin-bottom: 10px;} footer ul li a { color: #333; font-size: 14px; line-height: 1.5; text-decoration: none;} footer ul li a:hover { text-decoration: underline;} </style> </head> <body> <footer> <div class="container"> <div class="row"> <div class="col-md-3 col-sm-6"> <h4>关于我们</h4> <p>我们是一家专业的电商公司,致力于为客户提供高品质的商品和服务。</p> </div> <div class="col-md-3 col-sm-6"> <h4>联系我们</h4> <p>电话:123-456-7890</p> <p>邮箱:info@ecommerce.com</p> </div> <div class="col-md-3 col-sm-6"> <h4>购物指南</h4> <ul> <li><a href="#">购物流程</a></li> <li><a href="#">注册登录</a></li> <li><a href="#">会员中心</a></li> <li><a href="#">支付方式</a></li> </ul> </div> <div class="col-md-3 col-sm-6"> <h4>合作伙伴</h4> <ul> <li><a href="#">京东</a></li> <li><a href="#">淘宝</a></li> <li><a href="#">天猫</a></li> <li><a href="#">苏宁</a></li> </ul> </div> </div> </div> </footer> </body> </html>变成一行四列
06-08
可以将每个col-md-3和col-sm-6改为col-md-3 col-sm-3,这样每个列的宽度就会变成四分之一,实现四列在同一行上。修改后的代码如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>底部设计</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> footer { background-color: #f5f5f5; padding: 50px 0; } footer h4 { font-size: 18px; font-weight: bold; } footer p { font-size: 14px; line-height: 1.5; } footer ul { list-style: none; padding: 0; margin: 0; } footer ul li { margin-bottom: 10px; } footer ul li a { color: #333; font-size: 14px; line-height: 1.5; text-decoration: none; } footer ul li a:hover { text-decoration: underline; } </style> </head> <body> <footer> <div class="container"> <div class="row"> <div class="col-md-3 col-sm-3"> <h4>关于我们</h4> <p>我们是一家专业的电商公司,致力于为客户提供高品质的商品和服务。</p> </div> <div class="col-md-3 col-sm-3"> <h4>联系我们</h4> <p>电话:123-456-7890</p> <p>邮箱:info@ecommerce.com</p> </div> <div class="col-md-3 col-sm-3"> <h4>购物指南</h4> <ul> <li><a href="#">购物流程</a></li> <li><a href="#">注册登录</a></li> <li><a href="#">会员中心</a></li> <li><a href="#">支付方式</a></li> </ul> </div> <div class="col-md-3 col-sm-3"> <h4>合作伙伴</h4> <ul> <li><a href="#">京东</a></li> <li><a href="#">淘宝</a></li> <li><a href="#">天猫</a></li> <li><a href="#">苏宁</a></li> </ul> </div> </div> </div> </footer> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值