安排座位 java_座位安排(seat)
座位安排(seat)
题目描述
费了一番口舌,wfj_2048终于成功地说服了n∗mn∗m个妹子来陪自己看电影。
为了这次声势浩大,wfj_2048包下了一座有n∗mn∗m个座位的电影院。 (wfj_2048坐哪?我也不知道。。。。。。) 电影院前门的坐标为(0,0)(0,0),后门的坐标为(0,m+1)(0,m+1)。有kk个妹子站在前门外,剩下的n∗m−kn∗m−k个站在后门外。
但是,问题来了:每个妹子都有一个不一定相同的忍耐值ss,若从她到达的门到座位的曼哈顿距离超过ss,她会感到不爽并离开,可wfj_2048不想错过任何一个妹子。于是,他想让你告诉他:是否存在一种方案,使得所有的妹子都能安排到合适的座位,且没有妹子会离开?
输入
第一行为nn和mm,意义如描述之所示
第二行一个整数kk,接着kk个整描述前门外的kk个妹子的ss值
第三行一个整数n∗m−kn∗m−k,接着n∗m−kn∗m−k个数描述后门外的妹子的ss值
输出
若存在合法的座位安排方案则输出YESYES,否则输出NONO。
样例输入
样例输入1
2 2
3 3 3 2
1 3
样例输入2
2 2
3 2 3 3
1 2
样例输出
样例输出1
YES
样例输出2
NO
提示
【数据范围】
子任务1:3030:n∗m≤10n∗m≤10
子任务2:3030:n∗m≤1000n∗m≤1000
子任务3:4040:n∗m≤100000n∗m≤100000
来源
solution
按忍耐度从小到大考虑前门的每一个妹子。
对于一个妹子,她能坐的范围应该是一个类似三角形的区域(x+y<=k).
把这些位置取出来,按位置到后门的距离放进堆里。每次取堆顶即可。
为什么这是对的呢?
首先我从小到大考虑忍耐度,不会出现忍耐度大的妹子占了位置而忍耐度小的妹子没位置坐。
也就是在尽量保证合法的情况下优化后门的方案。
#include
#include
#include
#include
#include
#include
#include
#define maxn 100005
using namespace std;
int nn,n,m,k1,k2,a[maxn],b[maxn];
struct node{
int v;
bool operator
return T.v>v;
}
}t;
priority_queueq;
int main()
{
freopen("seat.in","r",stdin);
freopen("seat.out","w",stdout);
scanf("%d%d%d",&n,&m,&k1);
int nn=n*m;
for(int i=1;i<=k1;i++)scanf("%d",&a[i]);
scanf("%d",&k2);
for(int i=1;i<=k2;i++)scanf("%d",&b[i]);
sort(a+1,a+k1+1);sort(b+1,b+k2+1);
int now=0;
for(int i=1;i<=k2;i++){
if(b[i]>now){
for(int j=now+1;j<=b[i];j++){
int o=min(j,n+1);
for(int x=max(1,j-m);x
int y=m+1-(j-x);
t.v=x+y;q.push(t);
}
}
now=b[i];
}
if(q.empty()){
puts("NO");return 0;
}
q.pop();
}
for(int j=now+1;j<=n+m;j++){
int o=min(j,n+1);
for(int x=max(1,j-m);x
int y=m+1-(j-x);
t.v=x+y;q.push(t);
}
}
for(int i=k1;i>=1;i--){
t=q.top();q.pop();
if(t.v>a[i]){puts("NO");return 0;}
}
puts("YES");
return 0;
}
安排座位 java_座位安排(seat)相关推荐
- 婚宴座位图html5,婚礼酒席座位该怎么安排好?婚宴座位安排图解
新人在筹备婚礼的时候,会遇到各种各样的问题大难题之宾客座位如何安排?婚礼酒席座位也是极其重要的,婚宴座位安排向来是中国婚礼上比较重视的话题,婚宴座位怎么安排就能看出来宾和新人之间的关系,是长辈还是领导 ...
- 婚宴座位图html5,20桌婚宴座位安排图(婚宴座位顺序如何安排?)
酒席上如何安排座次 这个可分为正式的大型和分正式的小型宴会: 正式或大型宴会: 正式或大型宴会一般都排席位,也可只排部分客人席位,其他人员只排桌次或自由入座. 1.宴会席位主要是根据出席人员礼宾次序安 ...
- 微信小程序座位预约,微信小程序实现订座位,餐厅座位预约小程序毕设作品
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序预约订座小程序,前台用户使用小程序,后台管理使用基PHP+MySql的B/S架构:通过后台添加座位类型.座位号,用户通过小程序登录 ...
- 安排座位 java_java座位预定问题,有没有大神
你的程序会从字符串数组(称之为"booking"array)处理数据.第一个数组元素将包含一个数字,表示飞机有多少座位.其余元素将包含乘客谁已预订的航班座位组的信息.该组的第一个元 ...
- 婚宴座位图html5,酒席座位安排图-婚宴座位安排图【蜜匠婚礼】
办结婚酒席需要比较用心的地方很多,比如今天我们所说的酒席座位安排图,需要考虑很多方面,才能做到更好的安排,让宾客们开心,我们一起来看看婚宴座位安排图. 一.酒席座位安排图 1.首先是父母亲戚以及父母的 ...
- python学生考试安排软件、座位签V4.0
背景: 学校每月都要月考,每学期要期末考,需要对全年级学生进行随机排序,安排考室.座位号.考号,并且打印座位签 有时候会按照上期的成绩排序安排考室.座位号和考号 为减轻老婆大人的工作量,写了这个小程序 ...
- 某剧院有33排座位java_行测备考资料:数量关系深处隐藏的整除技巧
原标题:行测备考资料:数量关系深处隐藏的整除技巧 数量关系中,整除思想的常规运用其实大家并不陌生,比如:文字直接描述整除:题干中出现"平均"."每"." ...
- C# 随机分配学生座位与座位直接随机配对
上周在写一个学生实验管理,需要用到随机分配座位,大致思路就是用随机数去安排每个人的位置. 好不容易闲下来,记录一下当时写了好久的代码= =. 可以一桌坐一个人,也可以两个三个,因为有的实验需要互相配合 ...
- iphone日历显示周视图_用敬业签记录放假安排 2021年放假安排日历
2021年已经踏着轻快的步伐向我们一路小跑而来,新的一年中,除了可以做更多的成绩之外,还有很多假期伴随而来.做好放假安排就可以让假期更加充实,为了能够更好的记录放假安排和相关事项可用敬业签这款便签软件 ...
- 贪心算法基础之活动时间安排(一)安排 51nod 贪心教程
有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动? 输入 第1行:1个数N,时间段的数量(2 <= N <= 10000) 第2 ...
最新文章
- ortools解决tsp_ortools系列:路由问题1
- SQL基础【十五、join、Inner join、Left join、Right join、Full join】
- 【转】图文详解YUV420数据格式
- 勾股定理python思路_趣叮咚编程数学揭秘:为什么勾股定理a+b=c?
- elementui更改el-table表头背景颜色和字体颜色
- #pragma mark 基本使用
- 存储过程和存储函数和触发器示例
- ABP中module-zero快速集成微信用户认证
- 初级第二课——统计总分
- 高中数学建模优秀论文_数学建模论文 高中数学建模经典例题
- matlab 模拟滤波器转换为数字滤波器,模拟低通滤波器转换为数字高通滤波器.doc...
- 简述软件工程、软件开发方法、软件开发工具相关概念及之间的关系
- Python基于OpenCV&YOLO台球击球路线规划系统(源码&部署教程)
- java怎么获得今天日期,java怎么获取两年后的今天的日期
- 解决SQLserver 数据库恢复挂起
- AttributeError: module ‘win32com.gen_py.00020905-0000-4B30-A977-D214852036FF
- Hbase最全面入门指南
- Nacos 1.1.0发布,支持灰度配置和地址服务器模式
- 激活 MarkDownPad 2
- Telegram-This phone number is banned.手机号被禁止解决方法
热门文章
- animation的八大属性及HTML基础动画效果——平移、旋转、缩放、倾斜、过渡
- sublime清除html里面的空白行,Sublime Text批量删除空白行和注释代码
- 计算机网络初探教案,计算机网络基础知识教案.doc
- 如何利用任意波形发生器创建你想要的波形并输出
- 《2016-2017年全球竞争力报告》述评
- “非著名相声演员”郭德纲【ZZ】
- ps2改usb接口_PS2键盘接口改USB接口
- ubuntu 通过ssh链接ARM板 及 IMX6使用调试串口通信
- VulnHub-noob打靶记录
- 实现百度语音识别功能