(美团笔试)公司食堂 |
您所在的位置:网站首页 › 美团笔试未提交 › (美团笔试)公司食堂 |
链接:https://www.nowcoder.com/questionTerminal/601815bea5544f389bcd20fb5ebca6a8?answerType=1&f=discussion 来源:牛客网 小美和小团所在公司的食堂有N张餐桌,从左到右摆成一排,每张餐桌有2张餐椅供至多2人用餐,公司职员排队进入食堂用餐。小美发现职员用餐的一个规律并告诉小团:当男职员进入食堂时,他会优先选择已经坐有1人的餐桌用餐,只有当每张餐桌要么空着要么坐满2人时,他才会考虑空着的餐桌;当女职员进入食堂时,她会优先选择未坐人的餐桌用餐,只有当每张餐桌都坐有至少1人时,她才会考虑已经坐有1人的餐桌;无论男女,当有多张餐桌供职员选择时,他会选择最靠左的餐桌用餐。现在食堂内已有若干人在用餐,另外M个人正排队进入食堂,小团会根据小美告诉他的规律预测排队的每个人分别会坐哪张餐桌。 进阶:时间复杂度O(nlogn)\O(nlogn) ,空间复杂度O(n)\O(n) 第一行输入一个整数T(1 cin >> N; vector desks(N, 0); string tmp,man; cin >> tmp; for(int j = 0; j > M; cin >> man; for(int j = 0;j if(desks[k] == target) { desks[k]++; cout if(desks[k] == target) { desks[k]++; cout string tmp,man; cin >> N; cin >> tmp; priority_queue desk0; priority_queue desk1; //初始化,将桌子分类,编号为2的不需要 for(int j = 0;j if(man[j] == 'M') { if(desk1.size()) { cout if(desk0.size()) { cout |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |