【NOIP普及组】2016模拟考试(10.29)——排座椅
问题 B: 排座椅(seat.cpp)
时间限制: 1 Sec 内存限制: 64 MB
题目描述
输入
输出
样例输入
4 5 1 2 3 4 2 4 3 2 3 3 3 2 5 2 4
样例输出
2 2 4
提示
上图中用符号*、※、+ 标出了3对会交头接耳的学生的位置,图中3条粗线的位置表示通道,图示的通道划分方案是唯一的最佳方案。
#------------------------------------------------------------------------------#
这个题,看上去很像图论,事实上是贪心……
大体思路:
输入xi,yi,pi,qi,只要xi和pi相等,就表示两个学生在同一排,则L[yi和qi中小的一个]++
如果yi和qi相等,就表示两个学生在同一列,则K[xi和pi中小的一个]++,千万不要弄反了。
为什么要小的一个++呢?
仔细观察一下图(题目也有说)就知道了,输出的是ai与ai+1,如果存大的一个,通道就有问题了。
存的时候用结构体更方便,里面还需有一个a变量,存安放的位置,初始化a[i]均为i。
然后就是按K和L从大到小排序,注意还要再排一次a,因为题目说需从小到大输出!
然后直接输出即可。
代码:
#include<cstdio>
#include<algorithm>
using namespace std;
int m,n,k,l,d;
struct node
{int a,n;
}x[1002],y[1002];//结构体
bool _c(node x,node y)
{return x.n>y.n;//按n
}//sort从大到小
bool c_(node x,node y)
{return x.a<y.a;//按a
}//sort从小到大
int main()
{scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);for(int i=1;i<=max(m,n);i++)x[i].a=y[i].a=i;//初始化for(int i=1;i<=d;i++){int _x,_y,_p,_q;scanf("%d%d%d%d",&_x,&_y,&_p,&_q);if(_y==_q) x[min(_x,_p)].n++;//在同一列if(_x==_p) y[min(_y,_q)].n++;//在同一行}sort(x+1,x+n+1,_c); sort(y+1,y+n+1,_c); sort(x+1,x+k+1,c_); sort(y+1,y+l+1,c_);//四次排序printf("%d",x[1].a);for(int i=2;i<=k;i++)printf(" %d",x[i].a);//输出printf("\n%d",y[1].a);for(int i=2;i<=l;i++)printf(" %d",y[i].a);//一定要处理空格!!!我因为没处理行末空格wrong了1次return 0;
}
转载于:https://www.cnblogs.com/LinqiongTaoist/p/7203756.html
【NOIP普及组】2016模拟考试(10.29)——排座椅相关推荐
- JZOJ(中山纪念中学) 2018.02.02【NOIP普及组】模拟赛D组
本次题目:2018.02.02[NOIP普及组]模拟赛D组 第一题 题目:第一题 公牛数字 题意: 求题目给出两个数字的乘积 分析: 这题明显只是考察学生的高精可我居然没做对,只要多练习几次,即可AC ...
- 纪中集训2020.01.13【NOIP普及组】模拟赛C组总结————My First Time Write Summary
纪中集训2020.01.13[NOIP普及组]模拟赛C组总结 题目编号 标题 0 [NOIP普及组模拟]取值( numbers.pas/cpp) 1 [NOIP普及组模拟]数对(pairs.pas/c ...
- 2020.04.08【NOIP普及组】模拟赛C组24 总结
2020.04.08 2020.04.08 2020.04.08[ N O I P NOIP NOIP普及组]模拟赛 C C C组 24 24 24 总结 概述: 这次比赛我 A K AK AK了,拿 ...
- 纪中集训2020.01.16【NOIP普及组】模拟赛C组总结+【0.Matrix】分析
纪中集训2020.01.16[NOIP普及组]模拟赛C组总结+[0.Matrix]分析 题目: 0.matrix 1.product 2.binary 3.value 巨佬估分:100+100+40+ ...
- 【NOIP普及组2016】魔法阵
@魔法阵@ @前言@ @题目描述@ @题目分析-暴力枚举O(m^4)@ @开始优化-桶思想优化O(n^3)@ @高端操作-学不来的数学分析O(n^2)@ @END@ @前言@ 听闻老前辈们道这道题好像 ...
- 2016.10.05【初中部 NOIP普及组 】模拟赛题解
这次比赛又翻车了....... T1 这道题一开始以为是一道大水题,格外简单:把分子乘起来,把分母也乘起来,然后约分.但看到数据后,发现这样根本不行:一千个数,最大不超过一千(就是999),最大的积就 ...
- 2019.01.29【NOIP普及组】模拟赛C组总结
总结: 这次比赛的得分是:30+100+100+100=330 第一题有点蒙,想到了一个突破点,但因为知识太少,不了解对数,只打了一个很水的表,第二题想了会,想到了一种解法,然后写了15分钟左右,第三 ...
- 2017.03.04【NOIP 普及组】模拟赛C组 T4:泽泽在埃及
**[2011.12.10普及模拟]泽泽在埃及 ** 题目描述 泽泽已52:0的比分输了球,被足球流氓打了一顿,扔进了窨井里-- 出来的时候,泽泽已经在埃及了. 滚滚的黄沙在周围飞舞,没有一样生物在这 ...
- JZOJ(中山纪中)2018.01.21【NOIP普及组】模拟赛D组(第二题)
1361. [2011.12.31普及模拟]抓捕嫌疑犯(suspect) (File IO): input:suspect.in output:suspect.out 时间限制: 1000 ms ...
- NOIP 普及组 2016 回文日期
传送门 https://www.cnblogs.com/violet-acmer/p/9859003.html 题解: 思路1: 相关变量解释: year1,month1,day1 : date1对应 ...
最新文章
- TLS就是SSL的升级版+网络安全——一图看懂HTTPS建立过程——本质上就是引入第三方监管,web服务器需要先生成公钥和私钥,去CA申请,https通信时候浏览器会去CA校验CA证书的有效性...
- SpringMVC中@ResponseBody和@RequestBody的使用
- position定位说明
- java中四种线程池的区别
- 浏览器 JavaScript HTTP 库的大比拼:SugerAgent VS Axios
- 【JZOJ5911】Travel
- ‘nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- Zbrush学习笔记十——制作毛发、模型减面
- Postman汉化中文版
- 如何解决u盘不能拷贝超过4G的大文件
- android root 的作用,安卓手机Root好不好?手机Root后有什么好处和影响?
- 论文笔记《ST-GRAT: A Novel Spatio-temporal Graph Attention Network for Accurately Forecasting》
- Nand Flash入门基本概念
- 初探富文本之编辑器引擎
- Abaqus2019的abaqus_v6.env在哪里
- 男生心疼女生的12种方式
- 饭后吃一种水果就能化痰止咳(附赠10个化痰小偏方)
- 大数据全网最佳学习路线总结,不看肯定后悔
- 2020.6.12 HCIE RS LAB战报
- 菲律宾德拉斯大学计算机专业,2020年菲律宾大学以及各专业排行榜
热门文章
- windows查看文件MD5值
- React Native中常用ES6语法
- laravel5.4 关于select下拉框读取数据库数据案例
- JAVA 面向对象-2-继承(Inheritance)
- Object-C学习代码【简单的Car程序】
- 【ASP.NET】服务器控件大演练与实例分析
- ICS SIP Call移植
- 三种监控平台配置及其整合(cacti nagios ganglia)
- 【Android】Home键
- error: invalid use of incomplete type 'XXXX' ;error: forward declaration of 'XXXX' 声明改为包含头文件